# BMI270 6 Axis IMU configuration

# Copyright (c) 2021 Bosch Sensortec GmbH
# Copyright (c) 2022 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0

menuconfig BMI270
	bool "BMI270 Inertial measurement unit"
	default y
	depends on DT_HAS_BOSCH_BMI270_ENABLED
	select I2C if $(dt_compat_on_bus,$(DT_COMPAT_BOSCH_BMI270),i2c)
	select SPI if $(dt_compat_on_bus,$(DT_COMPAT_BOSCH_BMI270),spi)
	help
	  Enable driver for BMI270 I2C-based imu sensor

if BMI270

config BMI270_BUS_I2C
	bool
	default y
	depends on $(dt_compat_on_bus,$(DT_COMPAT_BOSCH_BMI270),i2c)

config BMI270_BUS_SPI
	bool
	default y
	depends on $(dt_compat_on_bus,$(DT_COMPAT_BOSCH_BMI270),spi)

choice BMI270_TRIGGER_MODE
	prompt "Trigger mode"
	help
	  Specify the type of triggering to be used by the driver.

config BMI270_TRIGGER_NONE
	bool "No trigger"

config BMI270_TRIGGER_GLOBAL_THREAD
	bool "Use global thread"
	depends on GPIO
	depends on $(dt_compat_any_has_prop,$(DT_COMPAT_BOSCH_BMI270),irq-gpios)
	select BMI270_TRIGGER

config BMI270_TRIGGER_OWN_THREAD
	bool "Use own thread"
	depends on GPIO
	depends on $(dt_compat_any_has_prop,$(DT_COMPAT_BOSCH_BMI270),irq-gpios)
	select BMI270_TRIGGER

endchoice

config BMI270_TRIGGER
	bool

config BMI270_THREAD_PRIORITY
	int "Thread priority"
	depends on BMI270_TRIGGER_OWN_THREAD
	default 10
	help
	  Priority of thread used by the driver to handle interrupts.

config BMI270_THREAD_STACK_SIZE
	int "Thread stack size"
	depends on BMI270_TRIGGER_OWN_THREAD
	default 1024
	help
	  Stack size of thread used by the driver to handle interrupts.

endif # BMI270
