blob: e6ec9eb7b30a0bb8a0d137a5b9c8ad49b1b976e8 [file] [log] [blame]
# Copyright (c) 2016 Intel Corporation
#
# SPDX-License-Identifier: Apache-2.0
#
menuconfig LIS3MDL
bool "LIS3MDL magnetometer"
depends on I2C
help
Enable driver for LIS3MDL I2C-based magnetometer.
if !HAS_DTS_I2C_DEVICE
config LIS3MDL_NAME
string "Driver name"
default "LIS3MDL"
depends on LIS3MDL
help
Device name with which the LIS3MDL sensor is identified.
config LIS3MDL_I2C_ADDR
hex "I2C address"
depends on LIS3MDL
default 0x1C
help
I2C address of the LIS3MDL sensor.
Use 0x1C if the SA1 pin is pulled to GND or 0x1E if the SA1 pin
is pulled to VDD.
config LIS3MDL_I2C_MASTER_DEV_NAME
string "I2C master where LIS3MDL is connected"
depends on LIS3MDL
default "I2C_0"
help
Specify the device name of the I2C master device to which LIS3MDL is
connected.
endif
choice LIS3MDL_TRIGGER_MODE
prompt "Trigger mode"
depends on LIS3MDL
default LIS3MDL_TRIGGER_GLOBAL_THREAD
help
Specify the type of triggering to be used by the driver.
config LIS3MDL_TRIGGER_NONE
bool "No trigger"
config LIS3MDL_TRIGGER_GLOBAL_THREAD
bool "Use global thread"
depends on GPIO
select LIS3MDL_TRIGGER
config LIS3MDL_TRIGGER_OWN_THREAD
bool "Use own thread"
depends on GPIO
select LIS3MDL_TRIGGER
endchoice # LIS3MDL_TRIGGER_MODE
config LIS3MDL_TRIGGER
bool
depends on LIS3MDL
config LIS3MDL_GPIO_DEV_NAME
string "GPIO device"
default "GPIO_0"
depends on LIS3MDL && LIS3MDL_TRIGGER
help
The device name of the GPIO device to which the LIS3MDL interrupt pins
are connected.
config LIS3MDL_GPIO_PIN_NUM
int "Interrupt GPIO pin number"
default 0
depends on LIS3MDL && LIS3MDL_TRIGGER
help
The number of the GPIO on which the interrupt signal from the LIS3MDL
chip will be received.
config LIS3MDL_THREAD_PRIORITY
int "Thread priority"
depends on LIS3MDL && LIS3MDL_TRIGGER_OWN_THREAD
default 10
help
Priority of thread used by the driver to handle interrupts.
config LIS3MDL_THREAD_STACK_SIZE
int "Thread stack size"
depends on LIS3MDL && LIS3MDL_TRIGGER_OWN_THREAD
default 1024
help
Stack size of thread used by the driver to handle interrupts.
config LIS3MDL_ODR
string "Output data rate"
depends on LIS3MDL
default "0.625"
help
Magnetometer output data rate expressed in samples per second.
Data rates supported by the chip are 0.625, 1.25, 2.5, 5, 10, 20,
40, 80, 155, 300, 560 and 1000.
config LIS3MDL_FS
int "Full-scale range"
depends on LIS3MDL
default 4
help
Magnetometer full-scale range.
An X value for the config represents a range of +/- X gauss. Valid
values are 4, 8, 12 and 16.