1# ST Microelectronics LSM6DSO16IS 6-axis IMU sensor driver
2
3# Copyright (c) 2023 STMicroelectronics
4# SPDX-License-Identifier: Apache-2.0
5
6menuconfig LSM6DSO16IS
7	bool "LSM6DSO16IS I2C/SPI accelerometer and gyroscope Chip"
8	default y
9	depends on DT_HAS_ST_LSM6DSO16IS_ENABLED
10	depends on ZEPHYR_HAL_ST_MODULE
11	select I2C if $(dt_compat_on_bus,$(DT_COMPAT_ST_LSM6DSO16IS),i2c)
12	select SPI if $(dt_compat_on_bus,$(DT_COMPAT_ST_LSM6DSO16IS),spi)
13	select HAS_STMEMSC
14	select USE_STDC_LSM6DSO16IS
15	help
16	  Enable driver for LSM6DSO16IS accelerometer and gyroscope
17	  sensor.
18
19if LSM6DSO16IS
20
21choice LSM6DSO16IS_TRIGGER_MODE
22	prompt "Trigger mode"
23	help
24	  Specify the type of triggering to be used by the driver.
25
26config LSM6DSO16IS_TRIGGER_NONE
27	bool "No trigger"
28
29config LSM6DSO16IS_TRIGGER_GLOBAL_THREAD
30	bool "Use global thread"
31	depends on GPIO
32	depends on $(dt_compat_any_has_prop,$(DT_COMPAT_ST_LSM6DSO16IS),irq-gpios)
33	select LSM6DSO16IS_TRIGGER
34
35config LSM6DSO16IS_TRIGGER_OWN_THREAD
36	bool "Use own thread"
37	depends on GPIO
38	depends on $(dt_compat_any_has_prop,$(DT_COMPAT_ST_LSM6DSO16IS),irq-gpios)
39	select LSM6DSO16IS_TRIGGER
40
41endchoice
42
43config LSM6DSO16IS_TRIGGER
44	bool
45
46if LSM6DSO16IS_TRIGGER
47
48config LSM6DSO16IS_THREAD_PRIORITY
49	int "Thread priority"
50	depends on LSM6DSO16IS_TRIGGER_OWN_THREAD
51	default 10
52	help
53	  Priority of thread used by the driver to handle interrupts.
54
55config LSM6DSO16IS_THREAD_STACK_SIZE
56	int "Thread stack size"
57	depends on LSM6DSO16IS_TRIGGER_OWN_THREAD
58	default 1024
59	help
60	  Stack size of thread used by the driver to handle interrupts.
61
62endif # LSM6DSO16IS_TRIGGER
63
64config LSM6DSO16IS_ENABLE_TEMP
65	bool "Temperature"
66	help
67	  Enable/disable temperature
68
69config LSM6DSO16IS_SENSORHUB
70	bool "I2C sensorhub feature"
71	help
72	  Enable/disable internal sensorhub. You can enable
73	  a maximum of two external sensors (if more than two are enabled
74	  the system would enumerate only the first two found)
75
76if LSM6DSO16IS_SENSORHUB
77
78config LSM6DSO16IS_EXT_LIS2MDL
79	bool "LIS2MDL as external sensor"
80	default y
81
82config LSM6DSO16IS_EXT_LPS22HH
83	bool "LPS22HH as external sensor"
84
85config LSM6DSO16IS_EXT_HTS221
86	bool "HTS221 as external sensor"
87
88config LSM6DSO16IS_EXT_LPS22HB
89	bool "LPS22HB as external sensor"
90
91config LSM6DSO16IS_EXT_LPS22DF
92	bool "LPS22DF as external sensor"
93	default y
94
95endif # LSM6DSO16IS_SENSORHUB
96
97endif # LSM6DSO16IS
98