1# Copyright (c) 2025 Croxel Inc.
2# Copyright (c) 2025 CogniPilot Foundation
3# SPDX-License-Identifier: Apache-2.0
4
5menuconfig ICM45686
6	bool "ICM45686 High-precision 6-Axis Motion Tracking Device"
7	default y
8	depends on DT_HAS_INVENSENSE_ICM45686_ENABLED
9	select SPI
10	select SPI_RTIO
11	help
12	  Enable driver for ICM45686 High-precision 6-axis motion
13	  tracking device.
14
15if ICM45686
16
17choice
18	prompt "Trigger mode"
19	default ICM45686_TRIGGER_GLOBAL_THREAD
20	help
21	  Specify the type of triggering to be used by the driver
22
23config ICM45686_TRIGGER_NONE
24	bool "No trigger"
25
26config ICM45686_TRIGGER_GLOBAL_THREAD
27	bool "Use global thread"
28	depends on GPIO
29	depends on $(dt_compat_any_has_prop,$(DT_COMPAT_INVENSENSE_ICM45686),int-gpios)
30	depends on !ICM45686_STREAM
31	select ICM45686_TRIGGER
32
33config ICM45686_TRIGGER_OWN_THREAD
34	bool "Use own thread"
35	depends on GPIO
36	depends on $(dt_compat_any_has_prop,$(DT_COMPAT_INVENSENSE_ICM45686),int-gpios)
37	depends on !ICM45686_STREAM
38	select ICM45686_TRIGGER
39
40endchoice
41
42config ICM45686_TRIGGER
43	bool
44
45config ICM45686_THREAD_PRIORITY
46	int "Own thread priority"
47	depends on ICM45686_TRIGGER_OWN_THREAD
48	default 10
49	help
50	  The priority of the thread used for handling triggers.
51
52config ICM45686_THREAD_STACK_SIZE
53	int "Own thread stack size"
54	depends on ICM45686_TRIGGER_OWN_THREAD
55	default 1024
56	help
57	  The thread stack size.
58
59config ICM45686_STREAM
60	bool "Streaming mode"
61	depends on GPIO
62	depends on $(dt_compat_any_has_prop,$(DT_COMPAT_INVENSENSE_ICM45686),int-gpios)
63	help
64	  Enable streaming of sensor data.
65
66endif # ICM45686
67