Messages in this thread Patch in this message | | | From | <> | Subject | [PATCH v2 1/3] iio: adc: ad7192: Add IRQ flag | Date | Mon, 6 Sep 2021 09:56:28 +0300 |
| |
From: Alexandru Tachici <alexandru.tachici@analog.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@analog.com> --- 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] = { -- 2.25.1
| |