mbox series

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

Message ID 20240725231039.614536-1-vassilisamir@gmail.com (mailing list archive)
Headers show
Series pressure: bmp280: Minor cleanup and interrupt support | expand

Message

Vasileios Amoiridis July 25, 2024, 11:10 p.m. UTC
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