linux/drivers/iio/chemical
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
..
ags02ma.c iio: chemical: add support for Aosong AGS02MA 2023-12-17 14:44:35 +00:00
ams-iaq-core.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
atlas-ezo-sensor.c iio: chemical: atlas-ezo-sensor: Simplify probe() 2023-09-11 20:12:41 +01:00
atlas-sensor.c iio: chemical: atlas-sensor: Convert enum->pointer for data in the match tables 2023-09-11 20:12:41 +01:00
bme680_core.c iio: chemical: bme680: fix typo in comment 2022-06-11 14:35:27 +01:00
bme680_i2c.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
bme680_spi.c iio:chemical:bme680: Move exports to IIO_BME680 namespace 2022-02-18 11:42:27 +00:00
bme680.h iio:chemical:bme680: Fix SPI read interface 2019-03-09 17:27:36 +00:00
ccs811.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
Kconfig iio: chemical: add support for Aosong AGS02MA 2023-12-17 14:44:35 +00:00
Makefile iio: chemical: add support for Aosong AGS02MA 2023-12-17 14:44:35 +00:00
pms7003.c iio: chemical: pms7003: convert comma to semicolon 2021-01-09 14:25:28 +00:00
scd4x.c iio: chemical: scd4x: Add pressure compensation 2023-07-20 19:21:30 +01:00
scd30_core.c iio: chemical: scd30_core: Switch to use dev_err_probe() 2023-01-14 16:17:34 +00:00
scd30_i2c.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
scd30_serial.c iio: chemical: scd30: Move symbol exports into IIO_SCD30 namespace 2022-04-05 20:16:34 +02:00
scd30.h iio: chemical: scd30: Export dev_pm_ops instead of suspend() and resume() 2022-04-05 20:16:34 +02:00
sgp30.c iio: chemical: sgp30: Convert enum->pointer for data in the match tables 2023-09-12 10:42:03 +01:00
sgp40.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
sps30_i2c.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
sps30_serial.c iio: chemical: sps30: Move symbol exports into IIO_SPS30 namespace 2022-06-21 21:30:31 +01:00
sps30.c iio: chemical: sps30: Move symbol exports into IIO_SPS30 namespace 2022-06-21 21:30:31 +01:00
sps30.h iio: sps30: separate core and interface specific code 2021-05-17 13:49:10 +01:00
sunrise_co2.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
vz89x.c iio: chemical: vz89x: Convert enum->pointer for data in the match tables 2023-09-11 20:12:41 +01:00