Skip to content

Conversation

@avisconti
Copy link
Contributor

@avisconti avisconti commented Sep 10, 2025

Add lsm6dsvxx sensor driver, which support both the three variants lsm6dsv320x, ism6hg256x and lsm6dsv80x. The driver is supporting read_and_decode APIs only.

(this driver is going to substitute on the long run the lsm6dsv16x/lsm6dsv32x driver).

It supports following triggers:
- SENSOR_TRIG_FIFO_WATERMARK
- SENSOR_TRIG_FIFO_FULL
- SENSOR_TRIG_DATA_READY

It reads Accel (both standard and High-g scale), Gyro, temperature and SFLP (Sensor Fusion Low Power) data,
In the future the idea is to support also SensorHUB/FSM/MLC data in FIFO handling proper tags.

It has been tested on i2c bus (using nucleo_h503rb board + x_nucleo_iks5a1 shield) and on spi bus using a DIL24 connector.

EDIT:
I forgot it depends to hal_st. I need to push a new version of this module.

EDIT2:
hal_st module has been updated to v2.11.1.

@avisconti avisconti added area: Drivers area: Sensors Sensors area: Devicetree Binding PR modifies or adds a Device Tree binding area: RTIO labels Sep 10, 2025
@zephyrbot zephyrbot added the area: Samples Samples label Sep 10, 2025
@avisconti avisconti changed the title Add lam6dsvxxx sensor driver (lsm6dsv320x and lsm6dsv80x) Add lsm6dsvxxx sensor driver (lsm6dsv320x and lsm6dsv80x) Sep 10, 2025
@sonarqubecloud
Copy link

@avisconti avisconti added this to the v4.4.0 milestone Oct 28, 2025
@github-actions
Copy link

github-actions bot commented Oct 28, 2025

The following west manifest projects have changed revision in this Pull Request:

Name Old Revision New Revision Diff

All manifest checks OK

Note: This message is automatically posted and updated by the Manifest GitHub Action.

@avisconti avisconti force-pushed the add-lsm6dsv320x branch 2 times, most recently from 714c379 to b907a7c Compare October 29, 2025 18:14
@avisconti avisconti force-pushed the add-lsm6dsv320x branch 4 times, most recently from 60ee135 to ee54c3e Compare November 17, 2025 10:58
The Device Tree property names that are common to lsm6dsv16x and
lsm6dsv32x drivers are now prefixed with LSM6DSVXXX_ (and not
LSM6DSV16X_) just for the sake of clarity.

Signed-off-by: Armando Visconti <[email protected]>
This driver is currently only supporting the polling-mode read_and_decode
APIs (both blocking and non-blocking).

The driver implements a chip_api structure which has to be used to
provide device specific callbacks. The only lsm6dsvxxx family device
currently supported is lsm6dsv320x.

More information about LSM6DSV16X:
https://www.st.com/resource/en/datasheet/lsm6dsv320x.pdf

Signed-off-by: Armando Visconti <[email protected]>
Add read_and_decode streaming APIs support.

Triggers supported:
    - SENSOR_TRIG_FIFO_WATERMARK
    - SENSOR_TRIG_FIFO_FULL
    - SENSOR_TRIG_DATA_READY

Signed-off-by: Armando Visconti <[email protected]>
Add support to lsm6dsv80x sensor variant of LSM6DSVXXX driver.

More information:
https://www.st.com/resource/en/datasheet/lsm6dsv80x.pdf

Signed-off-by: Armando Visconti <[email protected]>
Add support for High-g data in FIFO. The HG data wiil be marked in
FIFO with LSM6DSV80X_XL_HG_TAG.

Signed-off-by: Armando Visconti <[email protected]>
Add support to ism6hg256x sensor variant of LSM6DSVXXX driver.

More information:
https://www.st.com/resource/en/datasheet/ism6hg256x.pdf

Signed-off-by: Armando Visconti <[email protected]>
@avisconti
Copy link
Contributor Author

Rebased after #98150 has been merged

@sonarqubecloud
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: Boards/SoCs area: Devicetree Binding PR modifies or adds a Device Tree binding area: Devicetree Bindings area: Drivers area: RTIO area: Samples Samples area: Sensors Sensors area: Tests Issues related to a particular existing or missing test

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants