mirror of
https://github.com/torvalds/linux
synced 2024-11-05 18:23:50 +00:00
1b3bd85927
Bosch BME680 is a 4-in-1 sensor with temperature, pressure, humidity and gas sensing capability. It supports both I2C and SPI communication protocol for effective data communication. The device supports two modes: 1. Sleep mode 2. Forced mode The measurements only takes place when forced mode is triggered and a single TPHG cycle is performed by the sensor. The sensor automatically goes to sleep after afterwards. The device has various calibration constants/parameters programmed into devices' non-volatile memory(NVM) during production and can't be altered by the user. These constants are used in the compensation functions to get the required compensated readings along with the raw data. The compensation functions/algorithms are provided by Bosch Sensortec GmbH via their API[1]. As these don't change during the measurement cycle, therefore we read and store them at the probe. The default configs supplied by Bosch are also set at probe. 0-day tested with build success. GSoC-2018: https://summerofcode.withgoogle.com/projects/#6691473790074880 Mentor: Daniel Baluta [1] https://github.com/BoschSensortec/BME680_driver Datasheet: https://ae-bst.resource.bosch.com/media/_tech/media/datasheets/BST-BME680-DS001-00.pdf Note from Jonathan: The compensation functions are 'interesting' and could do with a tidy up in future. However, they work so we can leave that for another day. Cc: Daniel Baluta <daniel.baluta@nxp.com> Signed-off-by: Himanshu Jha <himanshujha199640@gmail.com> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
72 lines
1.7 KiB
Text
72 lines
1.7 KiB
Text
#
|
|
# Chemical sensors
|
|
#
|
|
|
|
menu "Chemical Sensors"
|
|
|
|
config ATLAS_PH_SENSOR
|
|
tristate "Atlas Scientific OEM SM sensors"
|
|
depends on I2C
|
|
select REGMAP_I2C
|
|
select IIO_BUFFER
|
|
select IIO_TRIGGERED_BUFFER
|
|
select IRQ_WORK
|
|
help
|
|
Say Y here to build I2C interface support for the following
|
|
Atlas Scientific OEM SM sensors:
|
|
* pH SM sensor
|
|
* EC SM sensor
|
|
* ORP SM sensor
|
|
|
|
To compile this driver as module, choose M here: the
|
|
module will be called atlas-ph-sensor.
|
|
|
|
config BME680
|
|
tristate "Bosch Sensortec BME680 sensor driver"
|
|
depends on (I2C || SPI)
|
|
select REGMAP
|
|
select BME680_I2C if I2C
|
|
select BME680_SPI if SPI
|
|
help
|
|
Say yes here to build support for Bosch Sensortec BME680 sensor with
|
|
temperature, pressure, humidity and gas sensing capability.
|
|
|
|
This driver can also be built as a module. If so, the module for I2C
|
|
would be called bme680_i2c and bme680_spi for SPI support.
|
|
|
|
config BME680_I2C
|
|
tristate
|
|
depends on I2C && BME680
|
|
select REGMAP_I2C
|
|
|
|
config BME680_SPI
|
|
tristate
|
|
depends on SPI && BME680
|
|
select REGMAP_SPI
|
|
|
|
config CCS811
|
|
tristate "AMS CCS811 VOC sensor"
|
|
depends on I2C
|
|
select IIO_BUFFER
|
|
select IIO_TRIGGERED_BUFFER
|
|
help
|
|
Say Y here to build I2C interface support for the AMS
|
|
CCS811 VOC (Volatile Organic Compounds) sensor
|
|
|
|
config IAQCORE
|
|
tristate "AMS iAQ-Core VOC sensors"
|
|
depends on I2C
|
|
help
|
|
Say Y here to build I2C interface support for the AMS
|
|
iAQ-Core Continuous/Pulsed VOC (Volatile Organic Compounds)
|
|
sensors
|
|
|
|
config VZ89X
|
|
tristate "SGX Sensortech MiCS VZ89X VOC sensor"
|
|
depends on I2C
|
|
help
|
|
Say Y here to build I2C interface support for the SGX
|
|
Sensortech MiCS VZ89X VOC (Volatile Organic Compounds)
|
|
sensors
|
|
|
|
endmenu
|