linux/drivers/iio
Matti Vaittinen 81ca5979b6 iio: pressure: Support ROHM BU1390
Support for the ROHM BM1390 pressure sensor. The BM1390GLV-Z can measure
pressures ranging from 300 hPa to 1300 hPa with configurable measurement
averaging and internal FIFO. The sensor does also provide temperature
measurements.

Sensor does also contain IIR filter implemented in HW. The data-sheet
says the IIR filter can be configured to be "weak", "middle" or
"strong". Some RMS noise figures are provided in data sheet but no
accurate maths for the filter configurations is provided. Hence, the IIR
filter configuration is not supported by this driver and the filter is
configured to the "middle" setting (at least not for now).

The FIFO measurement mode is only measuring the pressure and not the
temperature. The driver measures temperature when FIFO is flushed and
simply uses the same measured temperature value to all reported
temperatures. This should not be a problem when temperature is not
changing very rapidly (several degrees C / second) but allows users to
get the temperature measurements from sensor without any additional logic.

This driver allows the sensor to be used in two muitually exclusive ways,

1. With trigger (data-ready IRQ).
In this case the FIFO is not used as we get data ready for each collected
sample. Instead, for each data-ready IRQ we read the sample from sensor
and push it to the IIO buffer.

2. With hardware FIFO and watermark IRQ.
In this case the data-ready is not used but we enable watermark IRQ. At
each watermark IRQ we go and read all samples in FIFO and push them to the
IIO buffer.

Signed-off-by: Matti Vaittinen <mazziesaccount@gmail.com>
Link: https://lore.kernel.org/r/4f23211e3cf248f9f48ddb2a752387bb00e9c2c4.1695727471.git.mazziesaccount@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
2023-10-05 14:44:06 +01:00
..
accel iio: accel: hid-sensor-accel-3d: Convert to platform remove callback returning void 2023-09-23 15:06:52 +01:00
adc iio: adc: MCP3564: fix the static checker warning 2023-09-24 14:23:55 +01:00
addac iio: addac: stx104: Add 8254 Counter/Timer support 2023-09-17 10:29:41 +01:00
afe
amplifiers iio: amplifiers: hmc425a: Add Support HMC540S 4-bit Attenuator 2023-09-12 10:39:49 +01:00
buffer iio: Don't silently expect attribute types 2022-11-23 19:44:04 +00:00
cdc iio: cdc: ad7150: relax return value check for IRQ get 2023-08-01 18:55:55 +01:00
chemical iio: chemical: sgp30: Convert enum->pointer for data in the match tables 2023-09-12 10:42:03 +01:00
common Merge 6.5-rc6 into char-misc-next 2023-08-13 22:14:51 +02:00
dac iio: dac: vf610: Convert to platform remove callback returning void 2023-09-23 15:06:55 +01:00
dummy
filter drivers: iio: filter: admv8818: add bypass mode 2023-08-08 09:51:06 +01:00
frequency iio: frequency: adf4350: Use device managed functions and fix power down issue. 2023-09-11 20:12:40 +01:00
gyro iio: gyro: hid-sensor-gyro-3d: Convert to platform remove callback returning void 2023-09-23 15:06:55 +01:00
health iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
humidity iio: humidity: hid-sensor-humidity: Convert to platform remove callback returning void 2023-09-23 15:06:55 +01:00
imu iio: imu: mpu6050: add level shifter flag 2023-10-05 14:44:06 +01:00
light Merge branch 'ib-iio-hid-sensors-v6.6-rc1' into togreg 2023-09-24 13:39:25 +01:00
magnetometer iio: magnetometer: hid-sensor-magn-3d: Convert to platform remove callback returning void 2023-09-23 15:06:55 +01:00
multiplexer iio: multiplexer: Switch to use dev_err_probe() helper 2022-11-23 19:43:57 +00:00
orientation iio: orientation: hid-sensor-rotation: Convert to platform remove callback returning void 2023-09-23 15:06:56 +01:00
position iio: position: hid-sensor-custom-intel-hinge: Convert to platform remove callback returning void 2023-09-23 15:06:56 +01:00
potentiometer iio: potentiometer: ad5110: Use i2c_get_match_data() 2023-09-12 10:42:03 +01:00
potentiostat iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
pressure iio: pressure: Support ROHM BU1390 2023-10-05 14:44:06 +01:00
proximity iio: proximity: srf04: Convert to platform remove callback returning void 2023-09-23 15:06:56 +01:00
resolver
temperature iio: temperature: hid-sensor: Convert to platform remove callback returning void 2023-09-23 15:06:56 +01:00
test
trigger iio: trigger: stm32-timer: Convert to platform remove callback returning void 2023-09-23 15:06:56 +01:00
iio_core.h iio: Remove unused declarations 2023-09-12 10:42:03 +01:00
iio_core_trigger.h
industrialio-buffer.c iio: buffer: fix coding style warnings 2023-05-13 17:56:06 +01:00
industrialio-configfs.c
industrialio-core.c Merge branch 'ib-iio-hid-sensors-v6.6-rc1' into togreg 2023-09-24 13:39:25 +01:00
industrialio-event.c iio: Add event enums for running period and count 2023-07-23 13:16:18 +01:00
industrialio-gts-helper.c iio: gts-helpers: fix integration time units 2023-05-13 17:54:57 +01:00
industrialio-sw-device.c
industrialio-sw-trigger.c iio: core: Fix entry not deleted when iio_register_sw_trigger_type() fails 2022-11-12 17:53:35 +00:00
industrialio-trigger.c iio: Make return value check for set_trigger_state() consistent 2023-07-20 19:21:30 +01:00
industrialio-triggered-event.c
inkern.c iio: inkern: Add a helper to query an available minimum raw value 2023-07-09 22:48:17 +01:00
Kconfig iio: light: Add gain-time-scale helpers 2023-04-10 12:26:34 +01:00
Makefile iio: light: Add gain-time-scale helpers 2023-04-10 12:26:34 +01:00
TODO iio: core: move 'mlock' to 'struct iio_dev_opaque' 2022-11-23 19:44:00 +00:00