blob: 4a7fe551d2a688b66a17b8ef7031a9f6f9a4444d [file] [log] [blame]
# ST Microelectronics LSM6DSO 6-axis IMU sensor driver
#
# Copyright (c) 2019 STMicroelectronics
#
# SPDX-License-Identifier: Apache-2.0
#
menuconfig LSM6DSO
bool "LSM6DSO I2C/SPI accelerometer and gyroscope Chip"
depends on (I2C && HAS_DTS_I2C) || SPI
select HAS_STMEMSC
select USE_STDC_LSM6DSO
help
Enable driver for LSM6DSO accelerometer and gyroscope
sensor.
if LSM6DSO
choice LSM6DSO_TRIGGER_MODE
prompt "Trigger mode"
help
Specify the type of triggering to be used by the driver.
config LSM6DSO_TRIGGER_NONE
bool "No trigger"
config LSM6DSO_TRIGGER_GLOBAL_THREAD
bool "Use global thread"
depends on GPIO
select LSM6DSO_TRIGGER
config LSM6DSO_TRIGGER_OWN_THREAD
bool "Use own thread"
depends on GPIO
select LSM6DSO_TRIGGER
endchoice
config LSM6DSO_TRIGGER
bool
if LSM6DSO_TRIGGER
config LSM6DSO_THREAD_PRIORITY
int "Thread priority"
depends on LSM6DSO_TRIGGER_OWN_THREAD
default 10
help
Priority of thread used by the driver to handle interrupts.
config LSM6DSO_THREAD_STACK_SIZE
int "Thread stack size"
depends on LSM6DSO_TRIGGER_OWN_THREAD
default 1024
help
Stack size of thread used by the driver to handle interrupts.
choice LSM6DSO_INT_PIN
prompt "Sensor INT pin number"
default LSM6DSO_INT_PIN_1
help
The number of LSM6DSO int pin used to generate interrupt to cpu.
Supported values are int1 or int2
config LSM6DSO_INT_PIN_1
bool "int1"
config LSM6DSO_INT_PIN_2
bool "int2"
endchoice
endif # LSM6DSO_TRIGGER
config LSM6DSO_ENABLE_TEMP
bool "Enable temperature"
help
Enable/disable temperature
config LSM6DSO_SENSORHUB
bool "Enable I2C sensorhub feature"
help
Enable/disable internal sensorhub. You can enable
a maximum of two external sensors (if more than two are enabled
the system would enumerate only the first two found)
if LSM6DSO_SENSORHUB
config LSM6DSO_EXT_LIS2MDL
bool "Enable LIS2MDL as external sensor"
default y
config LSM6DSO_EXT_LPS22HH
bool "Enable LPS22HH as external sensor"
default y
config LSM6DSO_EXT_HTS221
bool "Enable HTS221 as external sensor"
config LSM6DSO_EXT_LPS22HB
bool "Enable LPS22HB as external sensor"
endif # LSM6DSO_SENSORHUB
menu "Attributes"
config LSM6DSO_GYRO_FS
int "Gyroscope full-scale range"
default 0
help
Specify the default gyroscope full-scale range.
An X value for the config represents a range of +/- X degree per
second. Valid values are:
0: Full Scale selected at runtime
125: +/- 125dps
250: +/- 250dps
500: +/- 500dps
1000: +/- 1000dps
2000: +/- 2000dps
config LSM6DSO_GYRO_ODR
int "Gyroscope Output data rate frequency"
range 0 10
default 0
help
Specify the default accelerometer output data rate expressed in
samples per second (Hz).
0: ODR selected at runtime
1: 12.5Hz
2: 26Hz
3: 52Hz
4: 104Hz
5: 208Hz
6: 416Hz
7: 833Hz
8: 1660Hz
9: 3330Hz
10: 6660Hz
config LSM6DSO_ACCEL_FS
int "Accelerometer full-scale range"
default 0
help
Specify the default accelerometer full-scale range.
An X value for the config represents a range of +/- X G. Valid values
are:
0: Full Scale selected at runtime
2: +/- 2g
4: +/- 4g
8: +/- 8g
16: +/- 16g
config LSM6DSO_ACCEL_ODR
int "Accelerometer Output data rate frequency"
range 0 10
default 0
help
Specify the default accelerometer output data rate expressed in
samples per second (Hz).
0: ODR selected at runtime
1: 12.5Hz
2: 26Hz
3: 52Hz
4: 104Hz
5: 208Hz
6: 416Hz
7: 833Hz
8: 1660Hz
9: 3330Hz
10: 6660Hz
endmenu
endif # LSM6DSO