blob: aea3cc6480ffee4f72f2482a40f18085df9553a1 [file] [log] [blame]
# ICM42688-P Six-Axis Motion Tracking device configuration options
#
# Copyright (c) 2022 Intel Corporation
#
# SPDX-License-Identifier: Apache-2.0
menuconfig ICM42688
bool "ICM42688 Six-Axis Motion Tracking Device"
default y
depends on DT_HAS_INVENSENSE_ICM42688_ENABLED
select SPI
help
Enable driver for ICM42688 SPI-based six-axis motion tracking device.
if ICM42688
config EMUL_ICM42688
bool "Emulator for the ICM42688"
default y
depends on EMUL
help
Enable the hardware emulator for the ICM42688. Doing so allows exercising
sensor APIs for this IMU in native_sim and qemu.
config ICM42688_DECODER
bool "ICM42688 decoder logic"
default y
select SENSOR_ASYNC_API
help
Compile the ICM42688 decoder API which allows decoding raw data returned
from the sensor.
choice
prompt "Trigger mode"
default ICM42688_TRIGGER_NONE if ICM42688_STREAM
default ICM42688_TRIGGER_GLOBAL_THREAD
help
Specify the type of triggering to be used by the driver
config ICM42688_TRIGGER_NONE
bool "No trigger"
config ICM42688_TRIGGER_GLOBAL_THREAD
bool "Use global thread"
select ICM42688_TRIGGER
config ICM42688_TRIGGER_OWN_THREAD
bool "Use own thread"
select ICM42688_TRIGGER
endchoice
config ICM42688_STREAM
bool "Use hardware FIFO to stream data"
select ICM42688_TRIGGER
default y
depends on SPI_RTIO
depends on SENSOR_ASYNC_API
help
Use this config option to enable streaming sensor data via RTIO subsystem.
config ICM42688_TRIGGER
bool
config ICM42688_THREAD_PRIORITY
int "Own thread priority"
depends on ICM42688_TRIGGER_OWN_THREAD
default 10
help
The priority of the thread used for handling interrupts.
config ICM42688_THREAD_STACK_SIZE
int "Own thread stack size"
depends on ICM42688_TRIGGER_OWN_THREAD
default 1024
help
The thread stack size.
endif # ICM42688