[PATCH v1 00/10] BMP280: Minor cleanup and interrupt support

Vasileios Amoiridis
2024-07-11T21:16:18Z

Based on iio testing branch.

Depends on this series [1].

This series aims to add hardware trigger support and extend the functionality
of the driver. Sensors BMP3xx and BMP5xx have an interrupt pin which can be
used in order to inform about a specific event in the sensor. For now, the
data ready event is used, and is added as a DRDY interrupt in the driver.

The interrupt is supported only in rising modes for now, and it doesn't support
latched mode.

Other interrupts such as, FIFO-FULL, FIFO-WATERMARK, Out of range values etc.
are not supported for the moment, and only the DRDY interrupt is supported.

While working on the trigger, FORCED MODE instead of NORMAL MODE was added to
the driver for use in the oneshot capture reads. There is no need for the
driver to continuously produce data, without using them and without properly
notifying the user when those data became available. This can produce high
incosistencies between the acquisition time and the readout of the sensor.
The data now, in the case of the .read_raw() function is using the FORCED MODE,
which samples and calculates the values at that moment.

Last commit, is just moving the interrupt interface of a very old sensor to be
consistent with the new ones, and no functional changes are intended.

[1]: https://lore.kernel.org/linux-iio/20240628171726.124852-1-vassilisamir@gmail.com/

Vasileios Amoiridis (10):
iio: pressure: bmp280: Fix regmap for BMP280 device
iio: pressure: bmp280: Fix waiting time for BMP3xx configuration
iio: pressure: bmp280: Sort headers alphabetically
iio: pressure: bmp280: Use bulk read for humidity calibration data
iio: pressure: bmp280: Add support for bmp280 soft reset
iio: pressure: bmp280: Remove config error check for IIR filter
updates
iio: pressure: bmp280: Use sleep and forced mode for oneshot captures
dt-bindings: iio: pressure: bmp085: Add interrupts for BMP3xx and
BMP5xx devices
iio: pressure: bmp280: Add data ready trigger support
iio: pressure bmp280: Move bmp085 interrupt to new configuration

.../bindings/iio/pressure/bmp085.yaml | 13 +-
drivers/iio/pressure/bmp280-core.c | 717 +++++++++++++++---
drivers/iio/pressure/bmp280-i2c.c | 6 +-
drivers/iio/pressure/bmp280-regmap.c | 47 +-
drivers/iio/pressure/bmp280-spi.c | 8 +-
drivers/iio/pressure/bmp280.h | 47 +-
6 files changed, 735 insertions(+), 103 deletions(-)

base-commit: 986da024b99a72e64f6bdb3f3f0e52af024b1f50
prerequisite-patch-id: ffe99ffe927e3309f0cf49ad0109818f58f4048d
prerequisite-patch-id: 5e534cafdd556c49ed1041a8d2e448713021a08e
prerequisite-patch-id: fe806efc601fc318d7240953d44491217de3535f
--
2.25.1