As per the latest HW manual[1], the INT# output is pulled low after the alarm is triggered. After the INT# output is pulled low, it is low for at least 250ms, even if the correct action is taken to clear it. It is impossible to clear ALM if it is still active. The host must wait for the RTC to progress past the alarm time plus the 250ms delay before clearing ALM. Apart from this, there is an internal delay(~250 microsec) from setting ALME = 0 to disabling the alarm function, so the user must add a short delay of greater than 250µs between setting ALME = 0 and clearing ALM. Currently setting of ALME = 0 is done after clearing the ALM, so just reverse the operation and add a delay of 275 microsec. Also add a 250msec delay before clearing the ALM. [1]https://www.renesas.com/us/en/document/dst/raa215300-datasheet?r=1506351 Biju Das (2): rtc: isl1208: Add a delay for clearing alarm rtc: isl1208: Add correct procedure for clearing alarm drivers/rtc/rtc-isl1208.c | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) -- 2.43.0