Commit Graph

42 Commits

Author SHA1 Message Date
Mario Tesi
a64c7c7b2d
drivers:iio:stm:imu:st_ism330is: add ST MEMS IMU ISM330IS sensor support
Added support tu ISM330IS ST MEMS IMU sensor with following features:
 - Sensor Hub
    1) Maximum of 2 device supported to be chosen from the following
       part numbers:
       - LIS2MDL 3-axis magnetometer
       - LPS22HH pressure
    2) Possibility to configure pull up on I2C master interface through
       device tree
    3) Self scan on I2C master interface of supported device, including
       multi address devices
    4) Configure SHUB sensor ODR
 - Self-test
    verifying the functionality of the device without moving it.
    The Self Test procedure can be performed on the Accelerometer and
    also on Gyro sensor separately using the selftest entry of the sysfs.
 - Acc, gyro and temperature data reading (with sensitivity and raw data)
 - External trigger

Signed-off-by: Mario Tesi <mario.tesi@st.com>
Change-Id: I6de3f216b54244dae7127ae48e38b7939009e248
2023-12-18 22:02:08 +01:00
Mario Tesi
876ab6c015
drivers:iio:stm:imu: add support to lsm6dsv16bx STMEMS IMU sensor
Added support for the imu lsm6dsv16bx sensor. The current driver
version supports the following features:
 - Acc and Gyro in continuous mode supported by the internal HW FIFO
 - QVAR sensor for presence and touch detection, data of QVAR are
   managed internally by HW FIFO.
 - SFLP Embedded Sensor Fusion Function Game Rotation vector sensor.
 - TDM slave interface configuration for accelerometer data.
 - MLC / FSM programmable functions.
 - Free fall, step counter, step detection, wake-up, significant
   motion, tilt, tap, double tap, 6D and sleep change embedded
   functions event detection.

Signed-off-by: Mario Tesi <mario.tesi@st.com>
Change-Id: I1f2ad688261cba90b5c3633ccd9fc6fb0301d771
2023-12-18 22:02:00 +01:00
Mario Tesi
115ea4079c
drivers:iio:stm:accel: Add support to LIS2DU12 STMEMS accel
Added support to STMEMS acc LIS2DU12 sensor.
The following features has been included:
 - Acc and Temp sensor in FIFO
 - Embedded features event detection supported:
   - Wake-up
   - Free fall
   - Tap
   - Double Tap
   - 6D / 4D
   - activity / inactivity
 - Embedded features parameters configuration
 - Self test procedure

Signed-off-by: Mario Tesi <mario.tesi@st.com>
Change-Id: I89df1f65ca14e01bc424b8e26de2c972cf71b999
2023-12-05 14:20:48 +01:00
Mario Tesi
9cd00ee4c2 drivers:iio:stm:accel: add support to h3lis331dl STMEMS accel sensor
Add support to the h3lis331dl STMEMS accel sensor with the
following basic features:
 - Accel raw data read
 - Buffered data read
 - Trigger support

h3lis331dl driver include support for H3LIS331DL and LIS331DLH
STMEMS accel sensor devices.

Signed-off-by: Mario Tesi <mario.tesi@st.com>
Change-Id: Ic8553294d1e646aa048b3f4be294d8d6d3916035
Reviewed-on: https://gerrit.st.com/c/linuxandroidopen/stm-ldd-iio/+/296337
Tested-by: CITOOLS <MDG-smet-aci-reviews@list.st.com>
Reviewed-by: Matteo DAMENO <matteo.dameno@st.com>
2023-11-15 23:09:08 +01:00
mariotesi
6876605ae0 stm-ldd-iio: remove MAY_WAKEUP from default config
the may wakeup functionality has been removed from the
driver and managed via device tree where supported by
the target, for this reason defining it in the sensor
default config is no longer necessary.

Signed-off-by: mariotesi <mario.tesi@st.com>
Change-Id: If4de48330aebb923453c67f61ad845236d9f0670
Reviewed-on: https://gerrit.st.com/c/linuxandroidopen/stm-ldd-iio/+/326363
Tested-by: CITOOLS <MDG-smet-aci-reviews@list.st.com>
Reviewed-by: Matteo DAMENO <matteo.dameno@st.com>
2023-11-15 23:09:08 +01:00
Mario Tesi
3a162cf3d9 drivers:iio:stm:pressure: add support to ilps22qs STMEMS Pressure sensor
Preliminary version of ilps22qs STMEMS Pressure driver to enable
reading data from pressure and temperature sensors.
Since the interrupts of the device are exclusively software, timers
have been used for the management of the data polling in continuous
mode with IIO buffer.

Available features:
 - Configure ODR for Pressure and Temperature sensor
 - Reading raw Pressure and Temperature sensor data
 - Reading IIO buffer Pressure and Temperature sensor data

Signed-off-by: Mario Tesi <mario.tesi@st.com>
Change-Id: Ifce3655b2687911b88bdbc854f6ff42778b60a40
Reviewed-on: https://gerrit.st.com/c/linuxandroidopen/stm-ldd-iio/+/284832
Tested-by: CITOOLS <MDG-smet-aci-reviews@list.st.com>
Reviewed-by: Matteo DAMENO <matteo.dameno@st.com>
2023-11-03 17:38:18 +01:00
mariotesi
015ea32b3b drivers:iio:stm:imu:st_lsm6dso16is: add lsm6dso16is device to kernel build
The st_lsm6dso16is driver was not included in the kernel build
because it was not added in the top level Kconfig/Makefile,
furthermore the default config contained a typo.

In lsm6dso16is_defconfig there is a wrong device name,
this fix enables lsm6dso16is module compilation.

Signed-off-by: mariotesi <mario.tesi@st.com>
Change-Id: I92df0ca4c3e29af6bcaef5ce80a78d494672ef00
Reviewed-on: https://gerrit.st.com/c/linuxandroidopen/stm-ldd-iio/+/325964
Reviewed-by: Matteo DAMENO <matteo.dameno@st.com>
Tested-by: CITOOLS <MDG-smet-aci-reviews@list.st.com>
2023-09-14 17:26:12 +02:00
Mario Tesi
26173808b6 drivers:iio:stm:tmos:st_sths34pf80: Add support to TMOS ST MEMS driver
Add support of TMOS ST MEMS IIO sensor with the following features:

 - Tobject sensor data (compensation can be enabled / disabled)
 - Tambient sensor data
 - Tpresence sensor data and event generation
 - Tmotion sensor data and event generation
 - Tambient_shock sensor data and event generation
 - LPF configurable
 - Hysteresis and Threshold setting
 - Supported ODR are 0.25, 0.5, 1, 2, 4, 8, 15 and 30 Hz
 - Support reset algo procedure

Signed-off-by: Mario Tesi <mario.tesi@st.com>
Change-Id: I74b8b50baf91693230a195300b3660591d32605e
Reviewed-on: https://gerrit.st.com/c/linuxandroidopen/stm-ldd-iio/+/315094
Tested-by: CITOOLS <MDG-smet-aci-reviews@list.st.com>
Reviewed-by: Matteo DAMENO <matteo.dameno@st.com>
2023-06-30 17:24:30 +02:00
Mario Tesi
52224a7247 drivers:iio:stm:accel: Add support to LIS2DUXS12 STMEMS accel
Added support to STMEMS acc LIS2DUXS12 sensor.
The following features has been included:
 - Acc, Temp and QVAR sensors in FIFO
 - Self Test
 - Embedded features event detection supported:
   - Wake-up
   - Free fall
   - Single Tap
   - Double Tap
   - Triple Tap
   - 6D orientation
   - Sleep change
   - Step Counter
   - Step Detection
   - Significant Motion
   - Tilt
 - MLC and FSM configuration
 - I2C / SPI / I3C interfaces through regmap
 - Multi kernel version support up to v5.15
 - Preload MLC/FSM presence detection using QVAR

Signed-off-by: Mario Tesi <mario.tesi@st.com>
Change-Id: I014d990f55c178f15a4a087a897d7eb8ed17ed8f
Reviewed-on: https://gerrit.st.com/c/linuxandroidopen/stm-ldd-iio/+/261051
Tested-by: CITOOLS <MDG-smet-aci-reviews@list.st.com>
Reviewed-by: Matteo DAMENO <matteo.dameno@st.com>
2023-05-24 17:17:55 +02:00
Mario Tesi
4f729193e6 drivers:iio:stm:imu: add support to lsm6dso16is STMEMS IMU sensor
Preliminary version of lsm6dso16is STMEMS IMU driver to enable
reading data from acc gyro and temp sensors using raw data.

Signed-off-by: Mario Tesi <mario.tesi@st.com>
Change-Id: Ia257191dc964d14331bcf66782a36971f602a348
Reviewed-on: https://gerrit.st.com/c/linuxandroidopen/stm-ldd-iio/+/272011
Tested-by: CITOOLS <MDG-smet-aci-reviews@list.st.com>
Reviewed-by: Denis CIOCCA <denis.ciocca@st.com>
2022-12-14 07:13:24 +01:00
Mario Tesi
5d2ba7d8a2 drivers:iio:stm:imu: remove lsm6dsr driver now deprecated by lsm6dsrx
lsm6dsrx driver has now been extended in order to support also lsm6dsr
device.

Signed-off-by: Mario Tesi <mario.tesi@st.com>
Change-Id: Ia846480148d78800740eda93f3b8e0b88d84ac5a
Reviewed-on: https://gerrit.st.com/c/linuxandroidopen/stm-ldd-iio/+/268463
Tested-by: CITOOLS <MDG-smet-aci-reviews@list.st.com>
Reviewed-by: Denis CIOCCA <denis.ciocca@st.com>
2022-11-14 20:08:56 +01:00
Mario Tesi
7396d36224 drivers:iio:stm:imu:st_lsm6dsvx: add support to MLC/FSM features
The LSM6DSVx STMEMS IMU device family can be configured to generate
interrupt signals activated by user-defined motion patterns. To
do this, up to 8 embedded finite state machines (FSM) can be programmed
independently for motion detection. Moreover this sensor family embeds
a dedicated core for machine learning processing (MLC) that provides system
flexibility, allowing up to 4 algorithms run in the application
processor to be moved in the MEMS sensor with the advantage of consistent
reduction in overall power consumption.
This commit add the possibility to configure the internal MLC and FSM core
using the unico ucf configuration file at runtime.
Each configured MLC or FSM exports an IIO device capable of generating
events for which it was designed and can be individually enabled and
disabled.
In addition, an example configuration file for MLC and FSM has been
included in driver code and can be preloaded immediately in order to
test this functionality.

Signed-off-by: Mario Tesi <mario.tesi@st.com>
Change-Id: I061746d1f827f6e8db43fd3bb9054e7bdb64f1a9
Reviewed-on: https://gerrit.st.com/c/linuxandroidopen/stm-ldd-iio/+/266723
Tested-by: CITOOLS <MDG-smet-aci-reviews@list.st.com>
Reviewed-by: Denis CIOCCA <denis.ciocca@st.com>
2022-11-14 19:40:52 +01:00
Mario Tesi
3f51b9223a drivers:iio:stm:imu:st_lsm6dsvx: add support to manage device id
Predisposition of the driver to manage more devices id of the same
family having slightly different characteristics or partially supported
functions.

Signed-off-by: Mario Tesi <mario.tesi@st.com>
Change-Id: I1ec9195dee15855fadef4e8ca55b61c86c2d2356
Reviewed-on: https://gerrit.st.com/c/linuxandroidopen/stm-ldd-iio/+/266410
Tested-by: CITOOLS <MDG-smet-aci-reviews@list.st.com>
Reviewed-by: Denis CIOCCA <denis.ciocca@st.com>
2022-11-14 19:40:52 +01:00
Mario Tesi
110ef14884 drivers:iio:stm:imu:st_lsm6dsvx: add support to ST MEMS lsm6dsvx IMU sensor family
Added support for the imu lsm6dsvx sensor family which the progenitor
lsm6dsv16x belongs to. The current driver version supports the following
features:
  - Acc and Gyro in continuous mode supported by the internal HW FIFO
  - Sensor Hub function with support for the following slave sensors
    connected to the component master I2C interface:
     - LIS2MDL - Magnetometer
     - LPS22HH - Pressure
   - QVAR sensor for presence and touch detection, data of QVAR can be
     managed internally by HW FIFO or generated by an hr timer depending
     on Kconfig.

Signed-off-by: Mario Tesi <mario.tesi@st.com>
Change-Id: I0e7595696806c98341b7fe94befd8ac684bb30b2
Reviewed-on: https://gerrit.st.com/c/linuxandroidopen/stm-ldd-iio/+/266065
Tested-by: CITOOLS <MDG-smet-aci-reviews@list.st.com>
Reviewed-by: Denis CIOCCA <denis.ciocca@st.com>
2022-11-14 19:40:52 +01:00
Mario Tesi
6efdd65453 drivers:iio:stm:magnetometer: add support to ST MEMS MAG 3D
This driver adds support to the family of magnetometric sensors
having the common whoami 0x3d. The following devices belong to
this family:
LIS3MDL - 3 axis Magnetometer
LSM9DS1 - 6 axis IMU + 3 axis Magnetometer

Tested on Kernel <= 5.4 and 5.10 where trigger ops structure
differs.

Signed-off-by: Mario Tesi <mario.tesi@st.com>
Change-Id: If7d7b82333592fdb5a888bf53dfafc8382cce9a6
Reviewed-on: https://gerrit.st.com/c/linuxandroidopen/stm-ldd-iio/+/265990
Reviewed-by: Denis CIOCCA <denis.ciocca@st.com>
Tested-by: CITOOLS <MDG-smet-aci-reviews@list.st.com>
2022-09-28 18:27:39 +02:00
Mario Tesi
2b1dae6730 drivers:iio:stm:imu:st_lsm6dsrx: leaves MLC enabled by default (II)
Permanently deletes the MLC defines left in the interface part and in
the default config of the driver.

Signed-off-by: Mario Tesi <mario.tesi@st.com>
Change-Id: I168a8675ca8ecbadce6d1156cf9fd2e03697e2af
Reviewed-on: https://gerrit.st.com/c/linuxandroidopen/stm-ldd-iio/+/265267
Tested-by: CITOOLS <MDG-smet-aci-reviews@list.st.com>
Reviewed-by: Denis CIOCCA <denis.ciocca@st.com>
2022-09-10 00:37:05 +02:00
Mario Tesi
71b8b2da0c drivers:iio:stm:imu:st_asm330lhhx: Add support to MLC/FSM
ASM330LHHX device include Finite State Machine (FSM) and Machine
Learning Core (MLC) HW block features which can be programmed through
binary ucf files generated by the "Unico" STmicroelectronics tool.
Through this patch the possibility to exploit the new features with
the following characteristics:
  - Preload a test configuration for MLC / FSM during probe.
  - Dynamically upload a new configuration via firmware upload.
  - Individually enable and disable IIO devices generated by the ucf
    configuration.
  - Max number of contemporary MLC 8 and FSM 16 supported.
  - Configurable MLC/FSM interrupt pin.
  - Management of MLC and FSM events as IIO_ACTIVITY type including output
    register data and timestamp.
  - Possibility to dynamically flush a configuration.

Signed-off-by: Mario Tesi <mario.tesi@st.com>
Change-Id: I17ff5a9133e93a75774f4b193d50cd23706d1237
Reviewed-on: https://gerrit.st.com/c/linuxandroidopen/stm-ldd-iio/+/262550
Tested-by: CITOOLS <MDG-smet-aci-reviews@list.st.com>
Reviewed-by: Denis CIOCCA <denis.ciocca@st.com>
2022-08-30 19:33:25 +02:00
Mario Tesi
d5251c1ad2 drivers:iio:stm:imu:st_asm330lhhx: Enable temperature sensor
Enable internal temperature sensor by default.

Signed-off-by: Mario Tesi <mario.tesi@st.com>
Change-Id: Id5e1b40957a13db670074cd574070d91ed7f6c9d
Reviewed-on: https://gerrit.st.com/c/linuxandroidopen/stm-ldd-iio/+/261192
Tested-by: CITOOLS <MDG-smet-aci-reviews@list.st.com>
Reviewed-by: Denis CIOCCA <denis.ciocca@st.com>
2022-08-12 00:02:58 +02:00
Mario Tesi
c8055e7d00 drivers:iio:stm:imu:st_asm330lhhx: Starting support asm330lhhx STMEMS IMU
Renamed st_asm330lhh driver to st_asm330lhhx, in order to include all
asm330lhh IMU device sensor family.

Signed-off-by: Mario Tesi <mario.tesi@st.com>
Change-Id: I98355a2050269eac4576d3e0a2d6243284c37387
Reviewed-on: https://gerrit.st.com/c/linuxandroidopen/stm-ldd-iio/+/260376
Tested-by: CITOOLS <MDG-smet-aci-reviews@list.st.com>
Reviewed-by: Denis CIOCCA <denis.ciocca@st.com>
2022-07-19 19:43:46 +02:00
Denis Ciocca
47e8a3e277 stm: fix uncorrect uses of config macro from string to bool
Signed-off-by: Denis Ciocca <denis.ciocca@st.com>
Change-Id: If3259c06f5eefac72ad38ae2b0ffe04a98f2d2e3
Reviewed-on: https://sczcxd1104.scz.st.com/gerrit/c/linux/stm-ldd-iio/+/652
Tested-by: CI STM MSD <aosp-ger@st.com>
2022-05-17 10:26:14 -07:00
Mario Tesi
abffa55187 drivers:iio:stm:imu:Add support to LSM6DS3H STMEMS IMU
Added support to LSM6DS3H STMEMS IMU.
This device was missing from the list of supported devices for
kernel 5.4 despite being supported in older version kernels.
This commit aligns device supported to previous kernel versions.

Signed-off-by: Mario Tesi <mario.tesi@st.com>
Change-Id: I27beac842372e7da0faeaf04c3ec77a3203f00ed
Reviewed-on: https://sczcxd1104.scz.st.com/gerrit/c/linux/stm-ldd-iio/+/631
Tested-by: CI STM MSD <aosp-ger@st.com>
Reviewed-by: Denis CIOCCA <denis.ciocca@st.com>
2022-04-29 18:13:59 -07:00
Mario Tesi
be8d9c7748 drivers:iio:stm:imu:Add support to LSM6DS3 STMEMS IMU
Added support to LSM6DS3 STMEMS IMU.
This device was missing from the list of supported devices for
kernel 5.4 despite being supported in older version kernels.
This commit aligns device supported to previous kernel versions.

Signed-off-by: Mario Tesi <mario.tesi@st.com>
Change-Id: I679e66def879d17440e77d6df303263b0457a8d8
Reviewed-on: https://sczcxd1104.scz.st.com/gerrit/c/linux/stm-ldd-iio/+/630
Tested-by: CI STM MSD <aosp-ger@st.com>
Reviewed-by: Denis CIOCCA <denis.ciocca@st.com>
2022-04-29 18:13:59 -07:00
Mario Tesi
e2adc33a17 drivers:iio:stm:accel:Add support to LIS2HH12 STMEMS accel
Added support to LIS2HH12 STMEMS accel.
This device was missing from the list of supported devices for
kernel 5.4 despite being supported in older version kernels.
This commit aligns device supported to previous kernel versions.

Signed-off-by: Mario Tesi <mario.tesi@st.com>
Change-Id: I3508361e425a74a8f3fa6073feeae82b5c0dadaf
Reviewed-on: https://sczcxd1104.scz.st.com/gerrit/c/linux/stm-ldd-iio/+/629
Tested-by: CI STM MSD <aosp-ger@st.com>
Reviewed-by: Denis CIOCCA <denis.ciocca@st.com>
2022-04-29 18:13:59 -07:00
Denis Ciocca
6ce34ed98c drivers:iio:stm:imu:lsm6dsrx: remove CONFIG_*_EN_REGULATOR macro
vdd and vddio are optional regulators for the driver.
The request regulator (NORMAL_GET) will provide a dummy regulator if
no one is found.
There is no need of letting the user decide at compile this, it should
always be enabled.

Signed-off-by: Denis Ciocca <denis.ciocca@st.com>
Change-Id: I22b6a78bd5079874c61df5a2e94a18e55d373bf5
Reviewed-on: https://sczcxd1104.scz.st.com/gerrit/c/linux/stm-ldd-iio/+/496
Tested-by: CI STM MSD <aosp-ger@st.com>
Reviewed-by: Mario TESI <mario.tesi@st.com>
2022-03-12 16:59:29 -08:00
Denis Ciocca
efb2855842 drivers:iio:stm:imu:lsm6dsox: remove CONFIG_*_EN_REGULATOR macro
vdd and vddio are optional regulators for the driver.
The request regulator (NORMAL_GET) will provide a dummy regulator if
no one is found.
There is no need of letting the user decide at compile this, it should
always be enabled.

Signed-off-by: Denis Ciocca <denis.ciocca@st.com>
Change-Id: I37a5174f8ef6a7c5582e596669f0c79470837cf7
Reviewed-on: https://sczcxd1104.scz.st.com/gerrit/c/linux/stm-ldd-iio/+/495
Tested-by: CI STM MSD <aosp-ger@st.com>
Reviewed-by: Mario TESI <mario.tesi@st.com>
2022-03-12 16:59:29 -08:00
Denis Ciocca
5a1ad30cff drivers:iio:stm:imu:asm330lhh: remove CONFIG_*_EN_REGULATOR macro
vdd and vddio are optional regulators for the driver.
The request regulator (NORMAL_GET) will provide a dummy regulator if
no one is found.
There is no need of letting the user decide at compile this, it should
always be enabled.

Signed-off-by: Denis Ciocca <denis.ciocca@st.com>
Change-Id: Ie6b5d8a11aed10bdad61b971e20e7c37645bb883
Reviewed-on: https://sczcxd1104.scz.st.com/gerrit/c/linux/stm-ldd-iio/+/494
Tested-by: CI STM MSD <aosp-ger@st.com>
Reviewed-by: Mario TESI <mario.tesi@st.com>
2022-03-12 16:59:29 -08:00
Denis Ciocca
3b3adfe368 drivers:iio:stm:imu: remove drivers now deprecated by lsm6dsox
lsm6dsox driver has now been extended in order to support these
devices.

Signed-off-by: Denis Ciocca <denis.ciocca@st.com>
Change-Id: Ife47dd16df4528e169df8feba76a24f2f1b75269
Reviewed-on: https://sczcxd1104.scz.st.com/gerrit/c/linux/stm-ldd-iio/+/463
Tested-by: CI STM MSD <aosp-ger@st.com>
Reviewed-by: Mario TESI <mario.tesi@st.com>
2022-03-01 08:31:37 -08:00
Mario Tesi
9c1ca8655c drivers:iio:stm:imu:st_lsm6dsox: Extend support to WAI 6C
LSM6DSOX driver now support all devices included in the following list:
 - LSM6DSO
 - LSM6DSOX
 - LSM6DSO32
 - LSM6DSO32X

Select device using the device tree compatible string

Signed-off-by: Mario Tesi <mario.tesi@st.com>
Change-Id: Ib5f9f292a671f744843646a3c24f042e1b8e3dd5
Reviewed-on: https://sczcxd1104.scz.st.com/gerrit/c/linux/stm-ldd-iio/+/420
Reviewed-by: Denis CIOCCA <denis.ciocca@st.com>
Tested-by: CI STM MSD <aosp-ger@st.com>
2022-02-18 08:34:23 -08:00
mario tesi
098d18739e drivers:iio:stm:accel: Add support to ST MEMS LIS3DHH/IIS3DHHC
List of supported features:
     - ODRs 1100 Hz
     - Sensor Event Timestamp support
     - Read single accel raw data values
     - FIFO:
      > Accel data stored in FIFO
      > HW Watermark configuration
      > Custom Flush command / event support

Signed-off-by: mario tesi <mario.tesi@st.com>
Change-Id: I4f9cf84c2e934a09ce88e9e8a156c27c2421049f
Reviewed-on: https://sczcxd1104.scz.st.com/gerrit/c/linux/stm-ldd-iio/+/333
Tested-by: aosp-ger <aosp-ger@st.com>
Reviewed-by: Denis CIOCCA <denis.ciocca@st.com>
2022-02-17 14:25:41 +01:00
mario tesi
863aa3c1a2 drivers:iio:stm:accel: Add support to ST MEMS ISM303DAC
List of supported features:
     - Configurable ODRs [Power_Off ... 800] Hz
     - Sensor Event Timestamp support
     - Read single accel raw data values
     - FIFO:
      > Accel data stored in FIFO
      > HW Watermark configuration
      > Custom Flush command / event support
     - TAP and DTAP event recognition
     - External trigger support

Signed-off-by: mario tesi <mario.tesi@st.com>
Change-Id: I948c93516fa83c7068e894a1fcc14f265b71067a
Reviewed-on: https://sczcxd1104.scz.st.com/gerrit/c/linux/stm-ldd-iio/+/332
Tested-by: aosp-ger <aosp-ger@st.com>
Reviewed-by: Denis CIOCCA <denis.ciocca@st.com>
2022-02-17 14:25:41 +01:00
mario tesi
a276e09d44 drivers:iio:stm:pressure: Add support to ST MEMS LPS33HW pressure sensor
Added support to LPS33HW ST MEMS pressure and temperature sensor

List of supported features:
 - Configurable ODRs [Power_Off ... 75] Hz
 - Sensor Event Timestamp support
 - Read single raw data values for pressure and temperature
 - FIFO:
  > Pressure data stored in FIFO
  > HW Watermark configuration
  > Custom Flush command / event support

Signed-off-by: mario tesi <mario.tesi@st.com>
Change-Id: Iae0b2ad72d7242e237450a74e9d8d25133a5ccc0
2022-02-17 14:25:41 +01:00
mario tesi
ab983aa7de drivers:iio:stm:pressure: Add support to ST MEMS LPS22DB pressure sensor
Added support to LPS22DB ST MEMS pressure and temperature sensor

List of supported features:
 - Configurable ODRs [Power_Off ... 75] Hz
 - Sensor Event Timestamp support
 - Read single raw data values for pressure and temperature
 - FIFO:
  > Pressure data stored in FIFO
  > HW Watermark configuration
  > Custom Flush command / event support

Signed-off-by: mario tesi <mario.tesi@st.com>
Change-Id: I435b87f7377b43cd34cb766968ca6326815c186c
2022-02-17 14:25:41 +01:00
mario tesi
910e94f2d1 drivers:iio:imu:Added support to LSM6DSO32 IMU sensor
List of supported features:
 - Acc / Gyro / Temp sensors
    > Configurable ODRs [Power_Off ... 833] Hz
    > Configurable Full Scales
    > Sensor Event Timestamp HW support
    > Read single raw data values
 - FIFO:
    > HW Watermark configuration
    > Custom Flush command / event support
 - Wake-Up support
 - HW SHUB enabled:
    > Samples in HW FIFO
    > Device supported
      LIS2MDL, LPS22HB, LPS22HH
 - Embedded event sensors:
    > Tilt sensor
    > Step Counter
    > Step detection
    > Significant motion
    > Significant Motion
 - FSM Embedded event detection:
    > Glance
    > Motion
    > No Motion
    > Wakeup
    > Pickup
    > Orientation
    > Wrist tilt

Signed-off-by: mario tesi <mario.tesi@st.com>
Change-Id: I8e5ec336ce8d4ed7ca6c5feb4853e45bc3a843b7
2022-02-17 14:25:41 +01:00
Denis Ciocca
135240b956 stm: fixed missing defconfig for some drivers
Signed-off-by: Denis Ciocca <denis.ciocca@st.com>
Change-Id: Iecc8f004f4d175d3b757c5a36f966551623227fc
2022-02-17 14:25:41 +01:00
mario tesi
c34ccee5a1 drivers:iio:imu: added support to LSM6DSR IMU sensor
List of supported features:
 - Acc / Gyro / Temp sensors
    > Configurable ODRs [Power_Off ... 833] Hz
    > Configurable Full Scales
    > Sensor Event Timestamp
    > Read single raw data values
 - FIFO:
    > HW Watermark configuration
    > Custom Flush command / event support
 - Support to IIO trigger
 - HW SHUB enabled:
    > Samples in HW FIFO
    > Device supported:
      LIS2MDL, LPS22HB, LPS22HH
 - Embedded event sensors:
    > Step Counter
    > Significant Motion
    > Tilt sensor
 - FSM events detection for the following gestures:
    > Glance
    > Motion
    > No Motion
    > Wake-up
    > Pick-up
    > Orientation
    > Wrist Tilt

Signed-off-by: mario tesi <mario.tesi@st.com>
Change-Id: I8428d482ef65febcee45bc915c354740e38e2e2b
2022-02-17 14:25:41 +01:00
mario tesi
2f7a9176d5 drivers:iio:imu: added support to LSM6DSM/L IMU sensor
List of supported features:
 - Acc / Gyro sensors
    > Configurable ODRs [Power_Off ... 833] Hz
    > Configurable Full Scales
    > Sensor Event Timestamp
    > Read single raw data values
 - FIFO:
    > HW Watermark configuration
    > Custom Flush command / event support
 - Support to IIO trigger
 - HW SHUB enabled:
    > Samples in HW FIFO
    > Device supported:
      LIS3MDL, AKM09911, AKM09912, AKM09916, LPS22HB, LIS2MDL
 - Embedded event sensors:
    > Tilt sensor
    > Wrist Tilt sensor
    > Step Counter
    > Step Detection
    > Significant Motion
    > Tap
    > Double Tap

Signed-off-by: mario tesi <mario.tesi@st.com>
Change-Id: Ia531cc898a97735808c276ddb434e45fd5b83251
2022-02-17 14:25:41 +01:00
mario tesi
5ba1426892 drivers:iio:imu: added support to ISM330DLC IMU sensor
List of supported features:
 - Acc / Gyro / Temp sensors
    > Configurable ODRs [Power_Off ... 833] Hz
    > Configurable Full Scales
    > Sensor Event Timestamp
    > Read single raw data values
 - FIFO:
    > HW Watermark configuration
    > Custom Flush command / event support
 - Support to IIO trigger
 - HW SHUB enabled:
    > Samples in HW FIFO
    > Device supported:
      LIS3MDL, AKM09911, AKM09912, AKM09916, LPS22HB, LIS2MDL
 - Embedded event sensors:
    > Tilt sensor

Signed-off-by: mario tesi <mario.tesi@st.com>
Change-Id: I528b8eea7e296a35b8eeeecb54cbc0c398365fd5
2022-02-17 14:25:29 +01:00
mario tesi
30ef4f8618 drivers:iio:imu:Added support to LSM9DS1 IMU sensor
List of supported features:
 - Acc / Gyro sensors
    > Configurable ODRs [Power_Off ... 476] Hz
    > Configurable Full Scales
    > Sensor Event Timestamp HW support
    > Read single raw data values
 - FIFO:
    > HW Watermark configuration
    > Custom Flush command / event support
 - Triggered buffer support for external interrupt sources

Signed-off-by: mario tesi <mario.tesi@st.com>
Change-Id: I85048099848da44179b6f59366452b2b6bdbd989
2022-02-10 14:55:57 +01:00
mario tesi
a1c75d18df drivers:iio:stm:imu:Added support to ST MEMS LSM6DSO IMU sensor
List of supported features:
 - Acc / Gyro / Temp sensors
    > Configurable ODRs [Power_Off ... 833] Hz
    > Configurable Full Scales
    > Sensor Event Timestamp HW support
    > Read single raw data values
 - FIFO:
    > HW Watermark configuration
    > Custom Flush command / event support
 - Wake-Up support
 - HW SHUB enabled:
    > Samples in HW FIFO
    > Device supported
      LIS2MDL, LPS22HB, LPS22HH
 - Embedded event sensors:
    > Tilt sensor
    > Step Counter
    > Step detection
    > Significant motion
    > Significant Motion
 - FSM Embedded event detection:
    > Glance
    > Motion
    > No Motion
    > Wakeup
    > Pickup
    > Orientation
    > Wrist tilt

Signed-off-by: mario tesi <mario.tesi@st.com>
Change-Id: I6c0cb4f444807aba0a7ed167bb87045c29e6d7e7
2022-02-10 14:55:57 +01:00
mario tesi
51f00619e2 drivers:iio:stm:imu: Added support to ST MEMS LSM6DSO32X IMU sensor
List of supported features:
 - Acc / Gyro / Temp sensors
    > Configurable ODRs [Power_Off ... 833] Hz
    > Configurable Full Scales
    > Sensor Event Timestamp HW support
    > Read single raw data values
 - FIFO:
    > HW Watermark configuration
    > Custom Flush command / event support
 - Regmap support:
    > I2C
    > SPI
    > I3C
 - Self Test Procedure support:
    > Acc / Gyro
    > Positive / Negative test
 - Wake-Up support
 - HW SHUB enabled:
    > Samples in HW FIFO
    > Device supported
      LIS2MDL, LIS3MDL, LPS22HB, LPS22HH
 - MLC / FSM:
    > Preload MLC / FSM
    > Dynamic configuration loading
    > Dynamic IIO sensor cleanup
    > Individual enabling of the configured MLCs / FSMs
 - Embedded event sensors:
    > Tilt sensor
    > Step Counter
    > Step detection
    > Significant motion
 - Separate VDD / VDDIO voltage regulators management

Signed-off-by: mario tesi <mario.tesi@st.com>
Change-Id: Ieda92bf2944d8eee19ece5554b21bef137719203
2022-02-10 14:55:57 +01:00
mario tesi
28089ed3d7 drivers:iio:stm:pressure: Add support to ST MEMS LPS22DF pressure sensor
Added support to LPS22DF ST MEMS pressure and temperature sensor

List of supported features:
 - Configurable ODRs [Power_Off ... 200] Hz
 - Sensor Event Timestamp support
 - Read single raw data values for pressure and temperature
 - FIFO:
    > Pressure data stored in FIFO
    > HW Watermark configuration
    > Custom Flush command / event support

Signed-off-by: mario tesi <mario.tesi@st.com>
Change-Id: Ia3be1f93498c6c46345a067c6323968a94014662
2022-02-10 14:55:57 +01:00
Denis Ciocca
d5a9842abc stm: Added stm_iio_configs for drivers defconfigs
Signed-off-by: Denis Ciocca <denis.ciocca@st.com>
Change-Id: I3a04a814017bdd9ac9320351feddbe773c8c66d0
2022-02-10 14:55:57 +01:00