[PATCH v2 0/7] pressure: bmp280: Minor cleanup and interrupt support

Vasileios Amoiridis
2024-07-25T23:10:47Z

Based on iio testing branch.

Changes in v2:

[PATCH v2 1/7] <=> [PATCH v1 4/10]
- Added comment to enum indexes for humidity parameters
- Made more clear the bit handling in case of calib->H4

[PATCH v2 4/7] <=> [PATCH v1 7/10]
- Used const arrays for local BMP280_MODE_* variables
- Added comment for why we check humidity oversampling
- Added comment on stubs

[PATCH v2 5/7] <=> [PATCH v1 8/10]
- Used only INT as interrupt since the device has only one irq line
- Used drive-open-drain

[PATCH v2 6/7] <=> [PATCH v1 9/10]
- Generalized IIO trigger code to be able to adopt more easily FIFO
irqs by using a bmpxxx_irq_thread_handler() function which handles the
irq handling.

---
v1: https://lore.kernel.org/linux-iio/20240711211558.106327-1-vassilisamir@gmail.com/

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.
ubject: [PATCH v2 0/7] *** SUBJECT HERE ***

Vasileios Amoiridis (7):
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 | 7 +-
drivers/iio/pressure/bmp280-core.c | 739 ++++++++++++++++--
drivers/iio/pressure/bmp280-i2c.c | 4 +-
drivers/iio/pressure/bmp280-regmap.c | 2 +-
drivers/iio/pressure/bmp280-spi.c | 4 +-
drivers/iio/pressure/bmp280.h | 51 +-
6 files changed, 715 insertions(+), 92 deletions(-)

base-commit: 47ee461357f9da5a35d5f43527b7804a6a5744cb
--
2.25.1