Commit e9a5a1b4 authored by Hugo Villeneuve's avatar Hugo Villeneuve Committed by Alexandre Belloni

rtc: pcf2127: add UIE support for PCF2131

The PCF2127/29 do NOT support alarms with a 1 second resolution, but
the PCF2131 does.
Signed-off-by: default avatarHugo Villeneuve <hvilleneuve@dimonoff.com>
Link: https://lore.kernel.org/r/20230622145800.2442116-17-hugo@hugovil.comSigned-off-by: default avatarAlexandre Belloni <alexandre.belloni@bootlin.com>
parent 081602a1
...@@ -1128,8 +1128,16 @@ static int pcf2127_probe(struct device *dev, struct regmap *regmap, ...@@ -1128,8 +1128,16 @@ static int pcf2127_probe(struct device *dev, struct regmap *regmap,
pcf2127->rtc->range_min = RTC_TIMESTAMP_BEGIN_2000; pcf2127->rtc->range_min = RTC_TIMESTAMP_BEGIN_2000;
pcf2127->rtc->range_max = RTC_TIMESTAMP_END_2099; pcf2127->rtc->range_max = RTC_TIMESTAMP_END_2099;
pcf2127->rtc->set_start_time = true; /* Sets actual start to 1970 */ pcf2127->rtc->set_start_time = true; /* Sets actual start to 1970 */
/*
* PCF2127/29 do not work correctly when setting alarms at 1s intervals.
* PCF2131 is ok.
*/
if (pcf2127->cfg->type == PCF2127 || pcf2127->cfg->type == PCF2129) {
set_bit(RTC_FEATURE_ALARM_RES_2S, pcf2127->rtc->features); set_bit(RTC_FEATURE_ALARM_RES_2S, pcf2127->rtc->features);
clear_bit(RTC_FEATURE_UPDATE_INTERRUPT, pcf2127->rtc->features); clear_bit(RTC_FEATURE_UPDATE_INTERRUPT, pcf2127->rtc->features);
}
clear_bit(RTC_FEATURE_ALARM, pcf2127->rtc->features); clear_bit(RTC_FEATURE_ALARM, pcf2127->rtc->features);
if (alarm_irq > 0) { if (alarm_irq > 0) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment