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

DT_COMPAT_LIS2MDL := st,lis2mdl

menuconfig LIS2MDL
	bool "LIS2MDL Magnetometer"
	default $(dt_compat_enabled,$(DT_COMPAT_LIS2MDL))
	depends on I2C || SPI
	select HAS_STMEMSC
	select USE_STDC_LIS2MDL
	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.

config LIS2MDL_MAG_ODR_RUNTIME
	bool "Set magnetometer sampling frequency (ODR) at runtime (default: 10 Hz)"
	default y

endif # LIS2MDL
