• Matti Vaittinen's avatar
    iio: pressure: Support ROHM BU1390 · 81ca5979
    Matti Vaittinen authored
    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: default avatarMatti Vaittinen <mazziesaccount@gmail.com>
    Link: https://lore.kernel.org/r/4f23211e3cf248f9f48ddb2a752387bb00e9c2c4.1695727471.git.mazziesaccount@gmail.comSigned-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
    81ca5979
rohm-bm1390.c 22.6 KB