mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-08-27 06:50:37 +00:00

Nicera D3-323-AA is a PIR sensor for human detection. It has support for raw data measurements and detection notification. The communication protocol is custom made and therefore needs to be GPIO bit banged. The device has two main settings that can be configured: a threshold value for detection and a band-pass filter. The configurable parameters for the band-pass filter are the high-pass and low-pass cutoff frequencies and its peak gain. Map these settings to the corresponding parameters in the `iio` framework. Raw data measurements can be obtained from the device. However, since we rely on bit banging, it will be rather cumbersome with buffer support. The main reason being that the data protocol has strict timing requirements (it's serial like UART), and it's mainly used during debugging since in real-world applications only the event notification is of importance. Therefore, only add support for events (for now). Signed-off-by: Waqar Hameed <waqar.hameed@axis.com> Link: https://patch.msgid.link/29f84da1431f4a3f17fdeef27297a4ab14455404.1751636734.git.waqar.hameed@axis.com Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
259 lines
6.9 KiB
Plaintext
259 lines
6.9 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
#
|
|
# Proximity sensors
|
|
#
|
|
|
|
menu "Lightning sensors"
|
|
|
|
config AS3935
|
|
tristate "AS3935 Franklin lightning sensor"
|
|
select IIO_BUFFER
|
|
select IIO_TRIGGERED_BUFFER
|
|
depends on SPI
|
|
help
|
|
Say Y here to build SPI interface support for the Austrian
|
|
Microsystems AS3935 lightning detection sensor.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called as3935
|
|
|
|
endmenu
|
|
|
|
menu "Proximity and distance sensors"
|
|
|
|
config CROS_EC_MKBP_PROXIMITY
|
|
tristate "ChromeOS EC MKBP Proximity sensor"
|
|
depends on CROS_EC
|
|
help
|
|
Say Y here to enable the proximity sensor implemented via the ChromeOS EC MKBP
|
|
switches protocol. You must enable one bus option (CROS_EC_I2C or CROS_EC_SPI)
|
|
to use this.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called cros_ec_mkbp_proximity.
|
|
|
|
config D3323AA
|
|
tristate "Nicera (Nippon Ceramic Co.) D3-323-AA PIR sensor"
|
|
depends on GPIOLIB
|
|
help
|
|
Say Y here to build a driver for the Nicera D3-323-AA PIR sensor.
|
|
|
|
To compile this driver as a module, choose M here: the module will be
|
|
called d3323aa.
|
|
|
|
config HX9023S
|
|
tristate "TYHX HX9023S SAR sensor"
|
|
select IIO_BUFFER
|
|
select IIO_TRIGGERED_BUFFER
|
|
select REGMAP_I2C
|
|
depends on I2C
|
|
help
|
|
Say Y here to build a driver for TYHX HX9023S capacitive SAR sensor.
|
|
This driver supports the TYHX HX9023S capacitive
|
|
SAR sensors. This sensors is used for proximity detection applications.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called hx9023s.
|
|
|
|
config IRSD200
|
|
tristate "Murata IRS-D200 PIR sensor"
|
|
select IIO_BUFFER
|
|
select IIO_TRIGGERED_BUFFER
|
|
select REGMAP_I2C
|
|
depends on I2C
|
|
help
|
|
Say Y here to build a driver for the Murata IRS-D200 PIR sensor.
|
|
|
|
To compile this driver as a module, choose M here: the module will be
|
|
called irsd200.
|
|
|
|
config ISL29501
|
|
tristate "Intersil ISL29501 Time Of Flight sensor"
|
|
depends on I2C
|
|
select IIO_BUFFER
|
|
select IIO_TRIGGERED_BUFFER
|
|
select IIO_KFIFO_BUF
|
|
help
|
|
Say Y here if you want to build a driver for the Intersil ISL29501
|
|
Time of Flight sensor.
|
|
|
|
To compile this driver as a module, choose M here: the module will be
|
|
called isl29501.
|
|
|
|
config LIDAR_LITE_V2
|
|
tristate "PulsedLight LIDAR sensor"
|
|
select IIO_BUFFER
|
|
select IIO_TRIGGERED_BUFFER
|
|
depends on I2C
|
|
help
|
|
Say Y to build a driver for PulsedLight LIDAR range finding
|
|
sensor.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called pulsedlight-lite-v2
|
|
|
|
config MB1232
|
|
tristate "MaxSonar I2CXL family ultrasonic sensors"
|
|
depends on I2C
|
|
select IIO_BUFFER
|
|
select IIO_TRIGGERED_BUFFER
|
|
help
|
|
Say Y to build a driver for the ultrasonic sensors I2CXL of
|
|
MaxBotix which have an i2c interface. It can be used to measure
|
|
the distance of objects. Supported types are mb1202, mb1212,
|
|
mb1222, mb1232, mb1242, mb7040, mb7137
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called mb1232.
|
|
|
|
config PING
|
|
tristate "Parallax GPIO bitbanged ranger sensors"
|
|
depends on GPIOLIB
|
|
help
|
|
Say Y here to build a driver for GPIO bitbanged ranger sensors
|
|
with just one GPIO for the trigger and echo. This driver can be
|
|
used to measure the distance of objects.
|
|
|
|
Actually supported are:
|
|
- Parallax PING))) (ultrasonic)
|
|
- Parallax LaserPING (time-of-flight)
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called ping.
|
|
|
|
config RFD77402
|
|
tristate "RFD77402 ToF sensor"
|
|
depends on I2C
|
|
help
|
|
Say Y to build a driver for the RFD77402 Time-of-Flight (distance)
|
|
sensor module with I2C interface.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called rfd77402.
|
|
|
|
config SRF04
|
|
tristate "GPIO bitbanged ultrasonic ranger sensor (SRF04, MB1000)"
|
|
depends on GPIOLIB
|
|
help
|
|
Say Y here to build a driver for GPIO bitbanged ultrasonic
|
|
ranger sensor. This driver can be used to measure the distance
|
|
of objects. It is using two GPIOs.
|
|
Actually Supported types are:
|
|
- Devantech SRF04
|
|
- Maxbotix mb1000
|
|
- Maxbotix mb1010
|
|
- Maxbotix mb1020
|
|
- Maxbotix mb1030
|
|
- Maxbotix mb1040
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called srf04.
|
|
|
|
config SX_COMMON
|
|
tristate
|
|
help
|
|
Common Semtech proximity sensor code.
|
|
|
|
config SX9310
|
|
tristate "SX9310/SX9311 Semtech proximity sensor"
|
|
select IIO_BUFFER
|
|
select IIO_TRIGGERED_BUFFER
|
|
select REGMAP_I2C
|
|
select SX_COMMON
|
|
depends on I2C
|
|
help
|
|
Say Y here to build a driver for Semtech's SX9310/SX9311 capacitive
|
|
proximity/button sensor.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called sx9310.
|
|
|
|
config SX9324
|
|
tristate "SX9324 Semtech proximity sensor"
|
|
select IIO_BUFFER
|
|
select IIO_TRIGGERED_BUFFER
|
|
select REGMAP_I2C
|
|
select SX_COMMON
|
|
depends on I2C
|
|
help
|
|
Say Y here to build a driver for Semtech's SX9324
|
|
proximity/button sensor.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called sx9324.
|
|
|
|
config SX9360
|
|
tristate "SX9360 Semtech proximity sensor"
|
|
select IIO_BUFFER
|
|
select IIO_TRIGGERED_BUFFER
|
|
select REGMAP_I2C
|
|
select SX_COMMON
|
|
depends on I2C
|
|
help
|
|
Say Y here to build a driver for Semtech's SX9360
|
|
proximity/button sensor, a simplified SX9324.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called sx9360.
|
|
|
|
config SX9500
|
|
tristate "SX9500 Semtech proximity sensor"
|
|
select IIO_BUFFER
|
|
select IIO_TRIGGERED_BUFFER
|
|
select REGMAP_I2C
|
|
depends on I2C
|
|
help
|
|
Say Y here to build a driver for Semtech's SX9500 capacitive
|
|
proximity/button sensor.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called sx9500.
|
|
|
|
config SRF08
|
|
tristate "Devantech SRF02/SRF08/SRF10 ultrasonic ranger sensor"
|
|
select IIO_BUFFER
|
|
select IIO_TRIGGERED_BUFFER
|
|
depends on I2C
|
|
help
|
|
Say Y here to build a driver for Devantech SRF02/SRF08/SRF10
|
|
ultrasonic ranger sensors with i2c interface.
|
|
This driver can be used to measure the distance of objects.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called srf08.
|
|
|
|
config VCNL3020
|
|
tristate "VCNL3020 proximity sensor"
|
|
select REGMAP_I2C
|
|
depends on I2C
|
|
help
|
|
Say Y here if you want to build a driver for the Vishay VCNL3020
|
|
proximity sensor.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called vcnl3020.
|
|
|
|
config VL53L0X_I2C
|
|
tristate "STMicroelectronics VL53L0X ToF ranger sensor (I2C)"
|
|
depends on I2C
|
|
help
|
|
Say Y here to build a driver for STMicroelectronics VL53L0X
|
|
ToF ranger sensors with i2c interface.
|
|
This driver can be used to measure the distance of objects.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called vl53l0x-i2c.
|
|
|
|
config AW96103
|
|
tristate "AW96103/AW96105 Awinic proximity sensor"
|
|
select REGMAP_I2C
|
|
depends on I2C
|
|
help
|
|
Say Y here to build a driver for Awinic's AW96103/AW96105 capacitive
|
|
proximity sensor.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called aw96103.
|
|
|
|
endmenu
|