| # Kconfig - FXOS8700 6-axis accelerometer/magnetometer |
| # |
| # Copyright (c) 2016 Freescale Semiconductor, Inc. |
| # |
| # SPDX-License-Identifier: Apache-2.0 |
| # |
| |
| menuconfig FXOS8700 |
| bool "FXOS8700 accelerometer/magnetometer driver" |
| depends on I2C && HAS_DTS_I2C && HAS_DTS_GPIO |
| help |
| Enable driver for the FXOS8700 accelerometer/magnetometer. |
| The driver also supports MMA8451Q, MMA8652FC and MMA8653FC |
| accelerometers. If the driver is used with one of these |
| accelerometers then the Accelerometer-only mode should be selected." |
| |
| if FXOS8700 |
| |
| choice |
| prompt "Mode" |
| default FXOS8700_MODE_ACCEL |
| |
| config FXOS8700_MODE_ACCEL |
| bool "Accelerometer-only mode" |
| |
| config FXOS8700_MODE_MAGN |
| bool "Magnetometer-only mode" |
| |
| config FXOS8700_MODE_HYBRID |
| bool "Hybrid (accel+mag) mode" |
| |
| endchoice |
| |
| config FXOS8700_TEMP |
| bool "Enable temperature" |
| depends on FXOS8700_MODE_MAGN || FXOS8700_MODE_HYBRID |
| help |
| Enable the temperature sensor. Note that the temperature sensor is |
| uncalibrated and its output for a given temperature may vary from one |
| device to the next. |
| |
| choice |
| prompt "Range" |
| default FXOS8700_RANGE_8G |
| |
| config FXOS8700_RANGE_8G |
| bool "8g (0.976 mg/LSB)" |
| |
| config FXOS8700_RANGE_4G |
| bool "4g (0.488 mg/LSB)" |
| |
| config FXOS8700_RANGE_2G |
| bool "2g (0.244 mg/LSB)" |
| |
| endchoice |
| |
| choice |
| prompt "Power mode" |
| default FXOS8700_PM_NORMAL |
| |
| config FXOS8700_PM_NORMAL |
| bool "Normal power mode" |
| |
| config FXOS8700_PM_LOW_NOISE_LOW_POWER |
| bool "Low noise low power mode" |
| |
| config FXOS8700_PM_HIGH_RESOLUTION |
| bool "High resolution power mode" |
| |
| config FXOS8700_PM_LOW_POWER |
| bool "Low power mode" |
| |
| endchoice |
| |
| choice |
| prompt "Trigger mode" |
| default FXOS8700_TRIGGER_NONE |
| |
| config FXOS8700_TRIGGER_NONE |
| bool "No trigger" |
| |
| config FXOS8700_TRIGGER_GLOBAL_THREAD |
| bool "Use global thread" |
| select FXOS8700_TRIGGER |
| |
| config FXOS8700_TRIGGER_OWN_THREAD |
| bool "Use own thread" |
| select FXOS8700_TRIGGER |
| |
| endchoice |
| |
| config FXOS8700_TRIGGER |
| bool |
| |
| config FXOS8700_DRDY_INT1 |
| bool "Data ready interrupt to INT1 pin" |
| depends on FXOS8700_TRIGGER |
| help |
| Say Y to route data ready interrupt to INT1 pin. Say N to route to |
| INT2 pin. |
| |
| if FXOS8700_TRIGGER |
| |
| config FXOS8700_THREAD_PRIORITY |
| int "Own thread priority" |
| depends on FXOS8700_TRIGGER_OWN_THREAD |
| default 10 |
| |
| config FXOS8700_THREAD_STACK_SIZE |
| int "Own thread stack size" |
| depends on FXOS8700_TRIGGER_OWN_THREAD |
| default 1024 |
| |
| menuconfig FXOS8700_PULSE |
| bool "Pulse detection" |
| help |
| Enable pulse detection |
| |
| if FXOS8700_PULSE |
| |
| config FXOS8700_PULSE_INT1 |
| bool "Pulse interrupt to INT1 pin" |
| help |
| Say Y to route pulse interrupt to INT1 pin. Say N to route to INT2 pin. |
| |
| config FXOS8700_PULSE_CFG |
| hex "Pulse configuration register" |
| range 0 0xff |
| default 0x3f |
| |
| config FXOS8700_PULSE_THSX |
| hex "Pulse X-axis threshold" |
| range 0 0x7f |
| default 0x20 |
| help |
| Threshold to start the pulse-event detection procedure on the X-axis. |
| Threshold values for each axis are unsigned 7-bit numbers with a |
| fixed resolution of 0.063 g/LSB, corresponding to an 8g acceleration |
| full-scale range. |
| |
| config FXOS8700_PULSE_THSY |
| hex "Pulse Y-axis threshold" |
| range 0 0x7f |
| default 0x20 |
| help |
| Threshold to start the pulse-event detection procedure on the Y-axis. |
| Threshold values for each axis are unsigned 7-bit numbers with a |
| fixed resolution of 0.063 g/LSB, corresponding to an 8g acceleration |
| full-scale range. |
| |
| config FXOS8700_PULSE_THSZ |
| hex "Pulse Z-axis threshold" |
| range 0 0x7f |
| default 0x40 |
| help |
| Threshold to start the pulse-event detection procedure on the Z-axis. |
| Threshold values for each axis are unsigned 7-bit numbers with a |
| fixed resolution of 0.063 g/LSB, corresponding to an 8g acceleration |
| full-scale range. |
| |
| config FXOS8700_PULSE_TMLT |
| hex "Pulse time limit" |
| range 0 0x7f |
| default 0x18 |
| help |
| The maximum time interval that can elapse between the start of the |
| acceleration on the selected channel exceeding the specified |
| threshold and the end when the channel acceleration goes back below |
| the specified threshold. The resolution depends upon the sample rate |
| (ODR) and the high-pass filter configuration |
| (HP_FILTER_CUTOFF[pls_hpf_en]). For ODR=800 Hz and pls_hpf_en=0, the |
| resolution is 0.625 ms/LSB. |
| |
| config FXOS8700_PULSE_LTCY |
| hex "Pulse latency" |
| range 0 0xff |
| default 0x28 |
| help |
| The time interval that starts after the first pulse detection where |
| the pulse-detection function ignores the start of a new pulse. The |
| resolution depends upon the sample rate (ODR) and the high-pass filter |
| configuration (HP_FILTER_CUTOFF[pls_hpf_en]). For ODR=800 Hz and |
| pls_hpf_en=0, the resolution is 1.25 ms/LSB. |
| |
| config FXOS8700_PULSE_WIND |
| hex "Pulse window" |
| range 0 0xff |
| default 0x3c |
| help |
| The maximum interval of time that can elapse after the end of the |
| latency interval in which the start of the second pulse event must be |
| detected provided the device has been configured for double pulse |
| detection. The detected second pulse width must be shorter than the |
| time limit constraint specified by the PULSE_TMLT register, but the |
| end of the double pulse need not finish within the time specified by |
| the PULSE_WIND register. The resolution depends upon the sample rate |
| (ODR) and the high-pass filter configuration |
| (HP_FILTER_CUTOFF[pls_hpf_en]). For ODR=800 Hz and pls_hpf_en=0, the |
| resolution is 1.25 ms/LSB. |
| |
| endif # FXOS8700_PULSE |
| |
| menuconfig FXOS8700_MOTION |
| bool "Motion detection" |
| help |
| Enable motion detection |
| |
| if FXOS8700_MOTION |
| |
| config FXOS8700_MOTION_INT1 |
| bool "Motion interrupt to INT1 pin" |
| help |
| Say Y to route motion interrupt to INT1 pin. Say N to route to INT2 pin. |
| |
| endif # FXOS8700_MOTION |
| |
| endif # FXOS8700_TRIGGER |
| |
| endif # FXOS8700 |