.. | .. |
---|
36 | 36 | #define BIT_RTC_CTRL_REG_RTC_READSEL_M BIT(7) |
---|
37 | 37 | #define BIT_RTC_INTERRUPTS_REG_IT_ALARM_M BIT(3) |
---|
38 | 38 | #define RTC_STATUS_MASK 0xFE |
---|
| 39 | +#define RTC_ALARM_STATUS BIT(6) |
---|
39 | 40 | |
---|
40 | 41 | #define SECONDS_REG_MSK 0x7F |
---|
41 | 42 | #define MINUTES_REG_MAK 0x7F |
---|
.. | .. |
---|
258 | 259 | ret = regmap_update_bits(rk808->regmap, rk808_rtc->creg->int_reg, |
---|
259 | 260 | BIT_RTC_INTERRUPTS_REG_IT_ALARM_M, 0); |
---|
260 | 261 | |
---|
| 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); |
---|
261 | 268 | return ret; |
---|
262 | 269 | } |
---|
263 | 270 | |
---|