Commit graph

444 commits

Author SHA1 Message Date
Jeppe Odgaard 2a5dc2a0df drivers: sensor: qdec_stm32: add optional encoder mode
Add support for setting encoder mode in dts.

Signed-off-by: Jeppe Odgaard <jeppe.odgaard@prevas.dk>
2024-04-01 12:10:54 -05:00
Armin Brauns f4c596ae28 drivers: add iis328dq stmemsc driver
Based on the iis2dlpc driver, with some significant differences in
interrupt handling.

Signed-off-by: Armin Brauns <armin.brauns@embedded-solutions.at>
2024-03-29 10:01:37 -05:00
Nathan Olff 13deb0365c drivers: sensor: dht20: implement new driver
The DHT20 sensor is a temperature and humidity sensor that uses I2C to
communicate with a microcontroller. The DHT20 sensor is Aosong.

use standard crc

update description to add reference to AHT20 and AM2301B

clean code, use defines and bit manipulation

add dht20 to i2c test suite for build tests

update bit manipulation

use more defines instead of raw numbers

add bindings to allow aht20 or am2301b to be used in devicetree

in all 3 cases, the same dht20.c driver is compiled

Signed-off-by: Nathan Olff <nathan@kickmaker.net>
2024-03-27 14:29:54 +00:00
Jeppe Odgaard 13e9e22092 dts: bindings: add fcx_mldx5 support
Add bindings for the FCX-MLDx5 O2 sensor.

Signed-off-by: Jeppe Odgaard <jeppe.odgaard@prevas.dk>
2024-03-26 10:46:30 -04:00
Armando Visconti 8d83b76f84 drivers/sensor: add support to STTS22H temperature sensor
The STTS22H is an ultralow-power, high-accuracy, digital temperature
sensor offering high performance over the entire operating temperature
range. This driver is based on stmemsc HAL i/f v2.3

https://www.st.com/resource/en/datasheet/stts22h.pdf

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2024-03-25 18:40:54 -04:00
Benedikt Schmidt 04f38ffba2 drivers: sensor: add sensors for MAX31790
Add sensors for fan speed and fan fault for the PWM
controller MAX31790.

Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
2024-03-20 07:38:18 -05:00
Benedikt Schmidt 4e4049d939 drivers: sensor: add diagnostics sensor for BD8LB600FS
Implement a sensor for the output diagnostics of the low side
switch BD8LB600FS.

Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
2024-03-15 09:00:26 +01:00
Kurtis Dinelle 3c3bee96ef drivers: sensor: tsl2591
Add the tsl2591 sensor to drivers.

Signed-off-by: Kurtis Dinelle <kurtisdinelle@gmail.com>
2024-03-14 16:32:24 +00:00
Gustavo Silva 3850f4ca64 drivers: sensor: add ScioSense ENS160 driver
Add driver for ScioSense ENS160 multi-gas sensor. The driver includes
support for I2C and SPI, attributes for setting temperature and
humidity compensation and data ready trigger.
Also add ScioSense to the list of vendor prefixes.

Signed-off-by: Gustavo Silva <gustavograzs@gmail.com>
2024-02-25 22:27:22 -05:00
Juliane Schulze 1683f1913b drivers: Add support for TI TMAG5273 3D Hall sensor
Product Homepage:
https://www.ti.com/product/TMAG5273

Datasheet:
https://www.ti.com/lit/ds/symlink/tmag5273.pdf

Tested on a custom hardware with nRF52840.

Signed-off-by: Juliane Schulze <juliane.schulze@deveritec.com>
2024-02-05 13:23:24 -06:00
Juliane Schulze 34cb22e919 sensors: Add driver for Vischay VCNL36825T Proximity Sensor
Driver for the Vishay VCNL36825T including power management support.

Signed-off-by: Juliane Schulze <juliane.schulze@deveritec.com>
2024-02-02 10:51:10 -06:00
Armando Visconti 4828340b92 drivers/sensor: add support to LIS2DE12 accelerometer
The LIS2DE12 is an ultra-low-power high- performance three-axis
linear accelerometer belonging to the “femto” family with digital
I2C/SPI serial interface standard output.

This driver is based on stmemsc HAL i/f v2.3

https://www.st.com/en/datasheet/lis2de12.pdf

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2024-01-31 15:39:45 +01:00
Armando Visconti 6d65738126 dts/bindings/sensor: lis2du12: fix macros typos
Fix few macros typos.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2024-01-31 15:39:45 +01:00
Pisit Sawangvonganan d54e027a38 dts: bindings: more typo correction and wording enhancement
This change reflects further corrections and suggestions
from @ajarmouni-st.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2024-01-30 18:50:08 -05:00
Pisit Sawangvonganan 250e6c0108 dts: bindings: sensor: fix typo
Utilize a code spell-checking tool to scan for and correct spelling errors
in all files within the dts/bindings/sensor directory.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2024-01-30 18:50:08 -05:00
Talha Can Havadar 4ce0555d90 drivers: bmp581: Add BMP581 driver
This commit adds source and header files required for bmp581 I2C driver.
I have used bmp581_user.h to add more usage related definitions
but bmp581.h to add hardware related definitions.

Signed-off-by: Talha Can Havadar <havadartalha@gmail.com>
Signed-off-by: Gerhard Jörges <joerges@metratec.com>
2024-01-24 09:32:34 -05:00
Zhang Lixu f5595b4b9c sensing: support multiple sensor types in one device
Many sensors have multiple functions, for example, icm42688 supports
accel, gyro and temperature, and the sensor streaming api always mixes
the multiple functions in one function call. So we need add a layer in
sensing subsystem to dispatch the result returned from sensor streaming
api for each function.
I changed the sensor-type(int) to sensor-types(array) in sensing sensor
device bindings, so that one device can map to multiple instances of
sensing sensor.

Signed-off-by: Zhang Lixu <lixu.zhang@intel.com>
2024-01-24 10:32:10 +01:00
Zhang Lixu 18a257cbe4 sensing: add hinge angle sensor
Add hinge angle virtual sensor for sensing subsystem, hinge angle sensor
takes both base accel and lid accel as reporter.

Signed-off-by: Zhang Lixu <lixu.zhang@intel.com>
2024-01-24 10:32:10 +01:00
Zhang Lixu f2bbfc8613 sensing: add stream mode property for sensing sensor
Add stream-mode property to indicate sensing sensor working stream mode or
poll mode.

Signed-off-by: Zhang Lixu <lixu.zhang@intel.com>
2024-01-24 10:32:10 +01:00
Guangfu Hu b9b714c8bd sensing: refine sensing API
1) move variable shift behind struct sensing_sensor_value_header in
struct sensing_sensor_value_q31
2) add pointer checking for sensing API
3) add context sensing_callback_list and sensing_data_event_t
4) add macro SENSING_SENSITIVITY_INDEX_ALL
5) rename zephyr,sensing-phy-3d-sensor.yaml

Signed-off-by: Guangfu Hu <guangfu.hu@intel.com>
2024-01-24 10:32:10 +01:00
Balthazar Deliers bea34c599d drivers: sensor: Aosong AGS10 TVOC sensor
Added support for Aosong AGS10 TVOC sensor

Signed-off-by: Balthazar Deliers <bdeliers@bdeliers.com>
2024-01-19 06:06:02 -06:00
Henrik Brix Andersen 6e8c8a1435 dts: bindings: sensor: move nRF comparator bindings to correct folder
Move the nRF comparator devicetree bindings from ADC to sensors, where the
rest of the comparator bindings are placed.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-16 11:29:29 +00:00
Nick Ward 7f41696a93 dts: binding: sensor: bq274xx: improve desc.
Improve descriptions of taper-current and terminate-voltage.
Also fixes units of taper-current.

Signed-off-by: Nick Ward <nix.ward@gmail.com>
2024-01-12 09:00:33 -06:00
Tristan Honscheid 0f95b6fbb0 sensors: Add Bosch BMA4xx-series driver
This is a driver targetting the Bosch BMA 4-series accelerometers. It
has been specifically developed for the BMA422 but should be compatible
with others in that line, excepting the BMA400. Supports key attributes
and async RTIO one-shot operation. I2C operation is supported, with
stubs for a SPI implementation provided for future improvement.

Signed-off-by: Tristan Honscheid <honscheid@google.com>
2024-01-11 09:58:29 -06:00
Armando Visconti 1badec4bfd drivers/sensor: add support to LIS2DU12 accelerometer
The LIS2DU12 is a linear 3-axis accelerometer with advanced digital
functions whose MEMS and ASIC have been expressly designed to build
an outstanding ultralow-power architecture in which the anti-aliasing
filter operates with a current consumption among the lowest in the
market.
This driver is based on stmemsc HAL i/f v2.3

https://www.st.com/en/datasheet/lis2du12.pdf

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2023-12-14 09:28:52 +01:00
Maxmillion McLaughlin 8ab1c75e9b feat: add support for TDK NTCG103JF103FT1 thermistor
Adds compensation table and bindings for NTCG103JF103FT1 thermistor

Signed-off-by: Maxmillion McLaughlin <github@maxmclau.com>
2023-12-08 10:04:12 +00:00
Sumit Batra e0dc6f4fe4 drivers: sensor: qdec_s32: Add QDEC support for S32
Add code to configure and program Lcu, Trgmux and Emios_Icu IPs to
get the the rotations by the motor in radians.

Co-authored-by: Benjamin Perseghetti <bperseghetti@rudislabs.com>
Co-authored-by: Peter van der Perk <peter.vanderperk@nxp.com>
Co-authored-by: Mayank Mahajan <mayankmahajan.x@nxp.com>
Signed-off-by: Sumit Batra <sumit.batra@nxp.com>
2023-12-06 20:06:37 -06:00
Marcio Ribeiro 76c4187bb0 drivers: sensor: esp32s3 internal temperature sensor
Support for esp32s3 internal temperature sensor on Zephyr

Signed-off-by: Marcio Ribeiro <marcio.ribeiro@espressif.com>
2023-12-04 14:32:09 +01:00
Jonas Remmert a004cb4b75 dt-bindings: sensor: lps2xdf: make macros sensor agnostic
The possible settings for the lps22df and lps28dfw sensor are overlapping,
except the Full-Scale mode setting. Threrefore we can change the macros
from LPS22DF_DT_[..] to LPS2xDF_DT_[..].

Signed-off-by: Jonas Remmert <j.remmert@phytec.de>
2023-12-01 12:19:05 -06:00
Jonas Remmert 7a2fcc419e drivers/sensor: add support to LPS28DFW pressure sensor
The LPS28DFW is an ultracompact, piezoresistive, absolute pressure sensor.
Compared to the LPS22DF, the LPS28DFW is waterproof and has a Dual FS
capability and does not have SPI. This commit extends the LPS22DF driver to
be compatible with the LPS28DFW device.

Signed-off-by: Jonas Remmert <j.remmert@phytec.de>
2023-12-01 12:19:05 -06:00
Armando Visconti 69d4c13ab3 dt-bindings: sensor: fix typos in ST sensors comment
Fix dt-binding wrong filename in dts comment for ST sensors.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2023-11-22 09:54:50 +01:00
Armando Visconti 194ee015f9 dt-bindings: sensor: iis2iclx: add macros for DT property setting
Add macros for setting in a clear way iis2iclx DT properties.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2023-11-20 09:24:37 +01:00
Armando Visconti 273475804e dt-bindings: sensor: lis2dh: add macros for DT properties setting
Add macros for setting in a clear way lis2dh DT properties.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2023-11-20 09:24:37 +01:00
Armando Visconti 6e09f91fec dt-bindings: sensor: iis2dlpc: add macros for DT properties setting
Add macros for setting in a clear way iis2dlpc DT properties.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2023-11-20 09:24:37 +01:00
Armando Visconti 0d68d9e493 dt-bindings: sensor: ism330dhcx: add macros for DT properties setting
Add macros for setting in a clear way ism330dhcx DT properties.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2023-11-20 09:24:37 +01:00
Armando Visconti 0b46f387f4 dt-bindings: sensor: lis2dw12: add macros for DT properties setting
Add macros for setting in a clear way lis2dw12 DT properties.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2023-11-20 09:24:37 +01:00
Armando Visconti 2fe89c1076 dt-bindings: sensor: lis2ds12: add macros for DT properties setting
Add macros for setting in a clear way lis2ds12 DT properties.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2023-11-20 09:24:37 +01:00
Armando Visconti a6cfa0bc15 dt-bindings: sensor: lps22df: add macros for DT properties setting
Add macros for setting in a clear way lps22df DT properties.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2023-11-20 09:24:37 +01:00
Armando Visconti b0f22dbafd dt-bindings: sensor: lps22hh: add macros for DT properties setting
Add macros for setting in a clear way lps22hh DT properties.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2023-11-20 09:24:37 +01:00
Armando Visconti 1fbd157c61 dt-bindings: sensor: lsm6dso16is: add macros for DT properties setting
Add macros for setting in a clear way lsm6dso16is DT properties.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2023-11-20 09:24:37 +01:00
Armando Visconti 0c3057edf4 dt-bindings: sensor: lsm6dso: add macros for DT properties setting
Add macros for setting in a clear way lsm6dso DT properties.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2023-11-20 09:24:37 +01:00
Armando Visconti e72baabe91 dt-bindings: sensor: lsm6dsv16x: add macros for DT properties setting
Add macros for setting in a clear way lsm6dsv16x DT properties.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2023-11-20 09:24:37 +01:00
Ian Morris 4c92419546 drivers: sensor: hs300x: Add driver for Renesas HS300x sensors
Adds support for Renesas HS3001 and HS3003 temperature/humidity sensors
connected via an I2C bus.

Signed-off-by: Ian Morris <ian.d.morris@outlook.com>
2023-11-17 10:33:02 -06:00
Jeppe Odgaard 128f80db7d dts: bindings: add explorir_m support
Add bindings for the ExplorIR-M CO2 sensor.

Signed-off-by: Jeppe Odgaard <jeppe.odgaard@prevas.dk>
2023-11-13 12:14:08 -05:00
Armando Visconti f1f7e4712c drivers/sensor: add support to LPS22DF pressure sensor
The LPS22DF is an ultracompact, piezoresistive, absolute pressure sensor
that functions as a digital output barometer. The LPS22DF provides lower
power consumption, achieving lower pressure noise than its predecessor.
This driver is based on stmemsc HAL i/f v2.3

https://www.st.com/en/datasheet/lps22df.pdf

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2023-11-13 16:08:46 +00:00
Antoniu Miclaus 678b29386d dts: bindings: adxl367: add interrupt support
Add int1-gpios property in the adxl367 dts bindings.

Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com>
2023-11-10 10:44:11 -06:00
Antoniu Miclaus fbee62d9e3 dts: bindings: adxl372: move int1-gpios to common
The `int1-gpios` property is common for both spi and i2c
implementations of adxl372. Therefore move it to
`adi,adxl372-common.yaml`

Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com>
2023-11-09 10:17:51 +00:00
Gustavo Silva b4625d6f13 drivers: sensor: add tsl2561 basic support
Add basic support for ams TSL2561 light sensor. Triggers, attributes
and manual integration time are currently not supported.

Signed-off-by: Gustavo Silva <gustavograzs@gmail.com>
2023-11-09 10:16:51 +00:00
Tobias Pisani ec202d852f drivers: sensor: bq274xx: Configure or confirm chemistry profile
Both the BQ27421 and BQ27427 have a few preset Chemistry profiles.
For the BQ27421 there exists three variants of the IC, and for the BQ27427,
it can be configured. The chemistry profile among other things includes the
taper voltage, which is used to detect charge termination.

This adds an optional `chemistry-id` config option to the driver. On the
BQ27421, it will confirm that the correct variant of the IC is mounted,
and on the BQ27427, it will configure it with the correct value.

Side note: The reference manual for the BQ27427
(https://www.ti.com/lit/ug/sluucd5/sluucd5.pdf) currently contains some
errors and inconsistencies regarding these registers. The table on page 7
appears to be correct.

Signed-off-by: Tobias Pisani <topisani@hamsterpoison.com>
2023-11-08 11:55:52 -06:00
Armando Visconti 01dc3c48e6 drivers/sensor: lis2dh: add INT1/INT2 gpio interrupt config in DT
Add INT1/INT2 gpio interrupt configuration at Device Tree level.

Two new properties:

  - int1-gpio-config
  - int2-gpio-config

Possible values:

  0 = GPIO_INT_EDGE
  1 = GPIO_INT_EDGE_RISING
  2 = GPIO_INT_EDGE_FALLING
  3 = GPIO_INT_LEVEL_HIGH
  4 = GPIO_INT_LEVEL_LOW

Fixes #63736

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2023-11-06 14:00:54 +00:00