# ST Microelectronics LIS2DW12 3-axis accelerometer driver
#
# Copyright (c) 2019 STMicroelectronics
#
# SPDX-License-Identifier: Apache-2.0
#

menuconfig LIS2DW12
	bool "LIS2DW12 I2C/SPI accelerometer sensor driver"
	depends on (I2C && HAS_DTS_I2C) || (SPI && HAS_DTS_SPI)
	select HAS_STMEMSC
	select USE_STDC_LIS2DW12
	help
	  Enable driver for LIS2DW12 accelerometer sensor driver

if LIS2DW12

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

config LIS2DW12_TRIGGER_NONE
	bool "No trigger"

config LIS2DW12_TRIGGER_GLOBAL_THREAD
	bool "Use global thread"
	depends on GPIO
	select LIS2DW12_TRIGGER

config LIS2DW12_TRIGGER_OWN_THREAD
	bool "Use own thread"
	depends on GPIO
	select LIS2DW12_TRIGGER

endchoice

config LIS2DW12_TRIGGER
	bool

if LIS2DW12_TRIGGER

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

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

choice
	prompt "Sensor INT pin number"
	default LIS2DW12_INT_PIN_1
	help
	  The number of LIS2DW12 int pin used to generate interrupt to cpu.
	  Supported values are int1 or int2

config LIS2DW12_INT_PIN_1
	bool "int1"

config LIS2DW12_INT_PIN_2
	bool "int2"
endchoice

endif # LIS2DW12_TRIGGER

choice
	prompt "Accelerometer Full-scale range setting"
	default LIS2DW12_ACCEL_RANGE_RUNTIME

config LIS2DW12_ACCEL_RANGE_RUNTIME
	bool "Set at runtime (Default 2G)"

config LIS2DW12_ACCEL_RANGE_2G
	bool "2G"

config LIS2DW12_ACCEL_RANGE_4G
	bool "4G"

config LIS2DW12_ACCEL_RANGE_8G
	bool "8G"

config LIS2DW12_ACCEL_RANGE_16G
	bool "16G"
endchoice

choice
	prompt "Accelerometer sampling frequency (ODR)"
	default LIS2DW12_ODR_RUNTIME

config LIS2DW12_ODR_RUNTIME
	bool "Set at runtime (Default 100 Hz)"

config LIS2DW12_ODR_1_6
	bool "1.6 Hz"

config LIS2DW12_ODR_12_5
	bool "12.5 Hz"

config LIS2DW12_ODR_25
	bool "25 Hz"

config LIS2DW12_ODR_50
	bool "50 Hz"

config LIS2DW12_ODR_100
	bool "100 Hz"

config LIS2DW12_ODR_200
	bool "200 Hz"

config LIS2DW12_ODR_400
	bool "400 Hz"

config LIS2DW12_ODR_800
	bool "800 Hz"

config LIS2DW12_ODR_1600
	bool "1600 Hz"

endchoice

config LIS2DW12_POWER_MODE
	int "Sensor Power Modes"
	range 0 4
	default 0
	help
	  Specify the sensor power mode
	  0: Low Power M1
	  1: Low Power M2
	  2: Low Power M3
	  3: Low Power M4
	  4: High Performance

endif # LIS2DW12
