diff options
author | Petre Rodan <petre.rodan@subdimension.ro> | 2024-02-11 10:56:36 +0300 |
---|---|---|
committer | Jonathan Cameron <Jonathan.Cameron@huawei.com> | 2024-02-19 22:32:22 +0300 |
commit | df3186e829c33e3c577e00e8b3faa25763a44bb0 (patch) | |
tree | ab3e9c4b9853d636a460a3f9b2e7da9b5bc2f9a2 /drivers/iio/pressure/hsc030pa_spi.c | |
parent | b0e42c9e932323d340d9ec000c2ee06610386a80 (diff) | |
download | linux-df3186e829c33e3c577e00e8b3faa25763a44bb0.tar.xz |
iio: pressure: hsc030pa add mandatory delay
Add a mandatory 2ms delay between consecutive chip reads.
A Technical Note pdf specifies that the measurement cycle in these
chips takes around 1.26ms. By adding this 2ms delay we make sure that
we never get stale measurements.
For more details, please see "Figure 1" in the pdf below:
https://prod-edam.honeywell.com/content/dam/honeywell-edam/sps/siot/en-us/products/sensors/pressure-sensors/common/documents/sps-siot-sleep-mode-technical-note-008286-1-en-ciid-155793.pdf
Signed-off-by: Petre Rodan <petre.rodan@subdimension.ro>
Link: https://lore.kernel.org/r/20240211075645.28777-6-petre.rodan@subdimension.ro
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Diffstat (limited to 'drivers/iio/pressure/hsc030pa_spi.c')
-rw-r--r-- | drivers/iio/pressure/hsc030pa_spi.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/iio/pressure/hsc030pa_spi.c b/drivers/iio/pressure/hsc030pa_spi.c index 8d3441f1dcf9..818fa6303454 100644 --- a/drivers/iio/pressure/hsc030pa_spi.c +++ b/drivers/iio/pressure/hsc030pa_spi.c @@ -8,6 +8,7 @@ * Datasheet: https://prod-edam.honeywell.com/content/dam/honeywell-edam/sps/siot/en-us/products/sensors/pressure-sensors/common/documents/sps-siot-sleep-mode-technical-note-008286-1-en-ciid-155793.pdf */ +#include <linux/delay.h> #include <linux/device.h> #include <linux/mod_devicetable.h> #include <linux/module.h> @@ -28,6 +29,7 @@ static int hsc_spi_recv(struct hsc_data *data) .len = HSC_REG_MEASUREMENT_RD_SIZE, }; + msleep_interruptible(HSC_RESP_TIME_MS); return spi_sync_transfer(spi, &xfer, 1); } |