diff options
author | Gregor Boirie <gregor.boirie@parrot.com> | 2016-06-27 13:38:57 +0300 |
---|---|---|
committer | Jonathan Cameron <jic23@kernel.org> | 2016-07-04 20:13:02 +0300 |
commit | 85d79136d3080729b13d1dcd433727223038e830 (patch) | |
tree | 3fcfba062fbc83ea00061306a635c50f71088015 /drivers/iio | |
parent | 05167cdce057910125c535a120d7ba0a4a3617b8 (diff) | |
download | linux-85d79136d3080729b13d1dcd433727223038e830.tar.xz |
iio:st_pressure:lps22hb: temperature support
Implement lps22hb temperature sampling channel.
Signed-off-by: Gregor Boirie <gregor.boirie@parrot.com>
Tested-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Diffstat (limited to 'drivers/iio')
-rw-r--r-- | drivers/iio/pressure/st_pressure_core.c | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/drivers/iio/pressure/st_pressure_core.c b/drivers/iio/pressure/st_pressure_core.c index 70230a159b46..274cdecc535b 100644 --- a/drivers/iio/pressure/st_pressure_core.c +++ b/drivers/iio/pressure/st_pressure_core.c @@ -196,6 +196,10 @@ * See LPS22HB datasheet: * http://www2.st.com/resource/en/datasheet/lps22hb.pdf */ + +/* LPS22HB temperature sensitivity */ +#define ST_PRESS_LPS22HB_LSB_PER_CELSIUS 100UL + #define ST_PRESS_LPS22HB_WAI_EXP 0xb1 #define ST_PRESS_LPS22HB_ODR_ADDR 0x10 #define ST_PRESS_LPS22HB_ODR_MASK 0x70 @@ -307,7 +311,22 @@ static const struct iio_chan_spec st_press_lps22hb_channels[] = { .info_mask_shared_by_all = BIT(IIO_CHAN_INFO_SAMP_FREQ), .modified = 0, }, - IIO_CHAN_SOFT_TIMESTAMP(1) + { + .type = IIO_TEMP, + .address = ST_TEMP_1_OUT_L_ADDR, + .scan_index = 1, + .scan_type = { + .sign = 's', + .realbits = 16, + .storagebits = 16, + .endianness = IIO_LE, + }, + .info_mask_separate = + BIT(IIO_CHAN_INFO_RAW) | + BIT(IIO_CHAN_INFO_SCALE), + .info_mask_shared_by_all = BIT(IIO_CHAN_INFO_SAMP_FREQ), + }, + IIO_CHAN_SOFT_TIMESTAMP(2) }; static const struct st_sensor_settings st_press_sensors_settings[] = { @@ -494,12 +513,13 @@ static const struct st_sensor_settings st_press_sensors_settings[] = { .fs = { .fs_avl = { /* - * Sensitivity values as defined in table 3 of - * LPS22HB datasheet. + * Pressure and temperature sensitivity values + * as defined in table 3 of LPS22HB datasheet. */ [0] = { .num = ST_PRESS_FS_AVL_1260MB, .gain = ST_PRESS_KPASCAL_NANO_SCALE, + .gain2 = ST_PRESS_LPS22HB_LSB_PER_CELSIUS, }, }, }, |