1# ICM42688-P Six-Axis Motion Tracking device configuration options 2# 3# Copyright (c) 2022 Intel Corporation 4# Copyright (c) 2024 Croxel Inc. 5# 6# SPDX-License-Identifier: Apache-2.0 7 8menuconfig ICM42688 9 bool "ICM42688 Six-Axis Motion Tracking Device" 10 default y 11 depends on DT_HAS_INVENSENSE_ICM42688_ENABLED 12 select SPI 13 select RTIO_WORKQ if SENSOR_ASYNC_API 14 help 15 Enable driver for ICM42688 SPI-based six-axis motion tracking device. 16 17if ICM42688 18 19config EMUL_ICM42688 20 bool "Emulator for the ICM42688" 21 default y 22 depends on EMUL 23 help 24 Enable the hardware emulator for the ICM42688. Doing so allows exercising 25 sensor APIs for this IMU in native_sim and qemu. 26 27config ICM42688_DECODER 28 bool "ICM42688 decoder logic" 29 default y 30 select SENSOR_ASYNC_API 31 help 32 Compile the ICM42688 decoder API which allows decoding raw data returned 33 from the sensor. 34 35choice 36 prompt "Trigger mode" 37 default ICM42688_TRIGGER_NONE if ICM42688_STREAM 38 default ICM42688_TRIGGER_GLOBAL_THREAD 39 help 40 Specify the type of triggering to be used by the driver 41 42config ICM42688_TRIGGER_NONE 43 bool "No trigger" 44 45config ICM42688_TRIGGER_GLOBAL_THREAD 46 bool "Use global thread" 47 select ICM42688_TRIGGER 48 49config ICM42688_TRIGGER_OWN_THREAD 50 bool "Use own thread" 51 select ICM42688_TRIGGER 52 53endchoice 54 55config ICM42688_STREAM 56 bool "Use hardware FIFO to stream data" 57 select ICM42688_TRIGGER 58 default y 59 depends on SPI_RTIO 60 depends on SENSOR_ASYNC_API 61 help 62 Use this config option to enable streaming sensor data via RTIO subsystem. 63 64config ICM42688_TRIGGER 65 bool 66 67config ICM42688_THREAD_PRIORITY 68 int "Own thread priority" 69 depends on ICM42688_TRIGGER_OWN_THREAD 70 default 10 71 help 72 The priority of the thread used for handling interrupts. 73 74config ICM42688_THREAD_STACK_SIZE 75 int "Own thread stack size" 76 depends on ICM42688_TRIGGER_OWN_THREAD 77 default 1024 78 help 79 The thread stack size. 80 81endif # ICM42688 82