# 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 || 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 menuconfig LIS2DW12_PULSE bool "Pulse detection" help Enable pulse (single/double tap) detection if LIS2DW12_PULSE choice prompt "Pulse interrupt source" default LIS2DW12_ONLY_SINGLE config LIS2DW12_ONLY_SINGLE bool "single" config LIS2DW12_SINGLE_DOUBLE bool "single/double" endchoice config LIS2DW12_PULSE_THSX hex "Pulse X-axis threshold" range 0 0x1F default 0x0E help Threshold to start the pulse-event detection procedure on the X-axis. Threshold values for each axis are unsigned 5-bit corresponding to an 2g acceleration full-scale range. config LIS2DW12_PULSE_THSY hex "Pulse Y-axis threshold" range 0 0x1F default 0x0E help Threshold to start the pulse-event detection procedure on the Y-axis. Threshold values for each axis are unsigned 5-bit corresponding to an 2g acceleration full-scale range. config LIS2DW12_PULSE_THSZ hex "Pulse Z-axis threshold" range 0 0x1F default 0x0E help Threshold to start the pulse-event detection procedure on the Z-axis. Threshold values for each axis are unsigned 5-bit corresponding to an 2g acceleration full-scale range. config LIS2DW12_PULSE_X bool "Enable X axis for pulse" default y config LIS2DW12_PULSE_Y bool "Enable Y axis for pulse" default y config LIS2DW12_PULSE_Z bool "Enable Z axis for pulse" default y config LIS2DW12_PULSE_SHOCK hex "Shock value" range 0 0x03 default 0x00 help Maximum duration of over-threshold event: this register represents the maximum time of an over-threshold signal detection to be recognized as a tap event. Where 0 equals 4*1/ODR and 1LSB = 8*1/ODR. config LIS2DW12_PULSE_LTNCY hex "Latency value" range 0 0x0F default 0x05 help When double-tap recognition is enabled, this register expresses the maximum time between two successive detected taps to determine a double-tap event. Where 0 equals 16*1/ODR and 1LSB = 32*1/ODR. config LIS2DW12_PULSE_QUIET hex "Quiet value" range 0 0x03 default 0x00 help Expected quiet time after a tap detection: this register represents the time after the first detected tap in which there must not be any overthreshold event. Where 0 equals 2*1/ODR and 1LSB = 4*1/ODR. endif # LIS2DW12_PULSE 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