Re: [PATCH 11/29] rtc: pcf2127: set RTC_FEATURE_ALARM_RES_2S

From: Alexandre Belloni
Date: Thu Mar 10 2022 - 15:58:58 EST


On 10/03/2022 11:09:18-0500, Hugo Villeneuve wrote:
> On Wed, 9 Mar 2022 17:22:42 +0100
> Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx> wrote:
>
> > The PCF2127 doesn't support UIE because setting an alarm to fire every
> > second confuses the chip and the fastest we can go is an alarm every 2
> > seconds.
>
> Hi Alexandre,
> can you describe what "confuses the chip" means?
>
> In my experimental PCF2131 driver, I activated UIE and it seems to be working fine at 1s intervals, but since it is similar to PCF2127, maybe there is still a problem and I just didn't see it.
>

Did you remove uie_unsupported? Else, you may have been using uie
emulation. In my tests last year, the pcf2127 was failing to reassert
the interrupt if an alarm was set every second. The same happens on
other NXP based RTCs (i.e. including microcrystal ones).

I'm going to test again soon (and also reply to your series).

> Hugo.
>
>
> > Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx>
> > ---
> > drivers/rtc/rtc-pcf2127.c | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/drivers/rtc/rtc-pcf2127.c b/drivers/rtc/rtc-pcf2127.c
> > index f8469b134411..63b275b014bd 100644
> > --- a/drivers/rtc/rtc-pcf2127.c
> > +++ b/drivers/rtc/rtc-pcf2127.c
> > @@ -656,6 +656,7 @@ static int pcf2127_probe(struct device *dev, struct regmap *regmap,
> > pcf2127->rtc->range_min = RTC_TIMESTAMP_BEGIN_2000;
> > pcf2127->rtc->range_max = RTC_TIMESTAMP_END_2099;
> > pcf2127->rtc->set_start_time = true; /* Sets actual start to 1970 */
> > + set_bit(RTC_FEATURE_ALARM_RES_2S, pcf2127->rtc->features);
> > clear_bit(RTC_FEATURE_UPDATE_INTERRUPT, pcf2127->rtc->features);
> > clear_bit(RTC_FEATURE_ALARM, pcf2127->rtc->features);
> >
> > --
> > 2.35.1
> >
>
>
> --
> Hugo Villeneuve <hugo@xxxxxxxxxxx>

--
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com