
# Copyright (c) 2018 STMicroelectronics
#
# SPDX-License-Identifier: Apache-2.0
#

menuconfig LIS2MDL
	bool "LIS2MDL Magnetometer"
	depends on (I2C && HAS_DTS_I2C)
	help
	  Enable driver for LIS2MDL I2C-based magnetometer sensor.

if LIS2MDL

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

config LIS2MDL_TRIGGER_NONE
	bool "No trigger"

config LIS2MDL_TRIGGER_GLOBAL_THREAD
	bool "Use global thread"
	depends on GPIO
	select LIS2MDL_TRIGGER

config LIS2MDL_TRIGGER_OWN_THREAD
	bool "Use own thread"
	depends on GPIO
	select LIS2MDL_TRIGGER

endchoice # LIS2MDL_TRIGGER_MODE

config LIS2MDL_TRIGGER
	bool

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

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

choice
	prompt "Magnetometer sampling frequency (ODR)"
	default LIS2MDL_MAG_ODR_RUNTIME

config LIS2MDL_MAG_ODR_RUNTIME
	bool "Set ODR at runtime (default 10 Hz)"

config LIS2MDL_MAG_ODR_10
	bool "10 Hz"

config LIS2MDL_MAG_ODR_20
	bool "20 Hz"

config LIS2MDL_MAG_ODR_50
	bool "50 Hz"

config LIS2MDL_MAG_ODR_100
	bool "100 Hz"

endchoice

endif # LIS2MDL
