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