[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20210911184425.3734a369@jic23-huawei>
Date: Sat, 11 Sep 2021 18:44:25 +0100
From: Jonathan Cameron <jic23@...nel.org>
To: <alexandru.tachici@...log.com>
Cc: <linux-iio@...r.kernel.org>, <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v2 1/3] iio: adc: ad7192: Add IRQ flag
On Sat, 11 Sep 2021 18:39:21 +0100
Jonathan Cameron <jic23@...nel.org> wrote:
> On Mon, 6 Sep 2021 09:56:28 +0300
> <alexandru.tachici@...log.com> wrote:
>
> > From: Alexandru Tachici <alexandru.tachici@...log.com>
> >
> > IRQ type in ad_sigma_delta_info struct was missing.
> >
> > In Sigma-Delta devices the SDO line is also used as an interrupt.
> > Leaving IRQ on level instead of falling might trigger a sample read
> > when the IRQ is enabled, as the SDO line is already low. Not sure
> > if SDO line will always imediately go high in ad_sd_buffer_postenable
> > before the IRQ is enabled.
> >
> > Also the datasheet seem to explicitly say the falling edge of the SDO
> > should be used as an interrupt:
> > From the AD7192 datasheet: "The DOUT/RDY falling edge can be used
> > as an interrupt to a processor,"
> >
> > Fixes: da4d3d6bb9f6 ("iio: adc: ad-sigma-delta: Allow custom IRQ flags")
> > Signed-off-by: Alexandru Tachici <alexandru.tachici@...log.com>
>
> As in thread discussing previous version. This one should probably be left
> to firmware to configure. It's not 'wrong' before this point as firmware
> should be specifying it correctly. That allows for the interrupt line
> to the processor to be inverted and other silliness that happens on real
> boards.
Ignore that - I'd forgotten this is a joint DOUT / Data ready pin so it's
polarity needs to track that of the SPI pin and inverting that isn't
something we cope with.
So applied to the fixes-togreg branch of iio.git and marked for stable.
Thanks,
Jonathan
>
> Jonathan
>
> > ---
> > drivers/iio/adc/ad7192.c | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/drivers/iio/adc/ad7192.c b/drivers/iio/adc/ad7192.c
> > index ee8ed9481025..2121a812b0c3 100644
> > --- a/drivers/iio/adc/ad7192.c
> > +++ b/drivers/iio/adc/ad7192.c
> > @@ -293,6 +293,7 @@ static const struct ad_sigma_delta_info ad7192_sigma_delta_info = {
> > .has_registers = true,
> > .addr_shift = 3,
> > .read_mask = BIT(6),
> > + .irq_flags = IRQF_TRIGGER_FALLING,
> > };
> >
> > static const struct ad_sd_calib_data ad7192_calib_arr[8] = {
>
Powered by blists - more mailing lists