linux/drivers/iio/chemical/Kconfig
Anshul Dalal d58013f39b iio: chemical: add support for Aosong AGS02MA
A simple driver for the TVOC (Total Volatile Organic Compounds)
sensor from Aosong: AGS02MA

Steps in reading the VOC sensor value over i2c:
  1. Read 5 bytes from the register `AGS02MA_TVOC_READ_REG` [0x00]
  2. The first 4 bytes are taken as the big endian sensor data with final
     byte being the CRC
  3. The CRC is verified and the value is returned over an
     `IIO_CHAN_INFO_RAW` channel as percents

Tested on Raspberry Pi Zero 2W

Datasheet: https://asairsensors.com/wp-content/uploads/2021/09/AGS02MA.pdf
Signed-off-by: Anshul Dalal <anshulusr@gmail.com>
Link: https://lore.kernel.org/r/20231215162312.143568-3-anshulusr@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
2023-12-17 14:44:35 +00:00

217 lines
5.5 KiB
Plaintext

# SPDX-License-Identifier: GPL-2.0-only
#
# Chemical sensors
#
menu "Chemical Sensors"
config AOSONG_AGS02MA
tristate "Aosong AGS02MA TVOC sensor driver"
depends on I2C
select CRC8
help
Say Y here to build support for Aosong AGS02MA TVOC (Total Volatile
Organic Compounds) sensor.
To compile this driver as module, choose M here: the module will be
called ags02ma.
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 ATLAS_EZO_SENSOR
tristate "Atlas Scientific EZO sensors"
depends on I2C
help
Say Y here to build I2C interface support for the following
Atlas Scientific EZO sensors
* CO2 EZO Sensor
To compile this driver as module, choose M here: the
module will be called atlas-ezo-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 PMS7003
tristate "Plantower PMS7003 particulate matter sensor"
depends on SERIAL_DEV_BUS
select IIO_BUFFER
select IIO_TRIGGERED_BUFFER
help
Say Y here to build support for the Plantower PMS7003 particulate
matter sensor.
To compile this driver as a module, choose M here: the module will
be called pms7003.
config SCD30_CORE
tristate "SCD30 carbon dioxide sensor driver"
select IIO_BUFFER
select IIO_TRIGGERED_BUFFER
help
Say Y here to build support for the Sensirion SCD30 sensor with carbon
dioxide, relative humidity and temperature sensing capabilities.
To compile this driver as a module, choose M here: the module will
be called scd30_core.
config SCD30_I2C
tristate "SCD30 carbon dioxide sensor I2C driver"
depends on SCD30_CORE && I2C
select CRC8
help
Say Y here to build support for the Sensirion SCD30 I2C interface
driver.
To compile this driver as a module, choose M here: the module will
be called scd30_i2c.
config SCD30_SERIAL
tristate "SCD30 carbon dioxide sensor serial driver"
depends on SCD30_CORE && SERIAL_DEV_BUS
select CRC16
help
Say Y here to build support for the Sensirion SCD30 serial interface
driver.
To compile this driver as a module, choose M here: the module will
be called scd30_serial.
config SCD4X
tristate "SCD4X carbon dioxide sensor driver"
select IIO_BUFFER
select IIO_TRIGGERED_BUFFER
depends on I2C
select CRC8
help
Say Y here to build support for the Sensirion SCD4X sensor with carbon
dioxide, relative humidity and temperature sensing capabilities.
To compile this driver as a module, choose M here: the module will
be called scd4x.
config SENSIRION_SGP30
tristate "Sensirion SGPxx gas sensors"
depends on I2C
select CRC8
help
Say Y here to build I2C interface support for the following
Sensirion SGP gas sensors:
* SGP30 gas sensor
* SGPC3 low power gas sensor
To compile this driver as module, choose M here: the
module will be called sgp30.
config SENSIRION_SGP40
tristate "Sensirion SGP40 gas sensor"
depends on I2C
select CRC8
help
Say Y here to build I2C interface to support Sensirion SGP40 gas
sensor
To compile this driver as module, choose M here: the
module will be called sgp40.
config SPS30
tristate
select IIO_BUFFER
select IIO_TRIGGERED_BUFFER
config SPS30_I2C
tristate "SPS30 particulate matter sensor I2C driver"
depends on I2C
select SPS30
select CRC8
help
Say Y here to build support for the Sensirion SPS30 I2C interface
driver.
To compile this driver as a module, choose M here: the module will
be called sps30_i2c.
config SPS30_SERIAL
tristate "SPS30 particulate matter sensor serial driver"
depends on SERIAL_DEV_BUS
select SPS30
help
Say Y here to build support for the Sensirion SPS30 serial interface
driver.
To compile this driver as a module, choose M here: the module will
be called sps30_serial.
config SENSEAIR_SUNRISE_CO2
tristate "Senseair Sunrise 006-0-0007 CO2 sensor"
depends on I2C
select REGMAP_I2C
help
Say yes here to build support for Senseair Sunrise 006-0-0007 CO2
sensor.
To compile this driver as a module, choose M here: the
module will be called sunrise_co2.
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