|  |  | 
|  | # Copyright (c) 2016 Intel Corporation | 
|  | # | 
|  | # SPDX-License-Identifier: Apache-2.0 | 
|  | # | 
|  |  | 
|  | menuconfig LIS3MDL | 
|  | bool | 
|  | prompt "LIS3MDL magnetometer" | 
|  | depends on SENSOR && I2C | 
|  | default n | 
|  | help | 
|  | Enable driver for LIS3MDL I2C-based magnetometer. | 
|  |  | 
|  | config LIS3MDL_NAME | 
|  | string | 
|  | prompt "Driver name" | 
|  | default "LIS3MDL" | 
|  | depends on LIS3MDL | 
|  | help | 
|  | Device name with which the LIS3MDL sensor is identified. | 
|  |  | 
|  | config LIS3MDL_I2C_ADDR | 
|  | hex | 
|  | prompt "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 | 
|  | prompt "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. | 
|  |  | 
|  | choice | 
|  | 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 | 
|  | prompt "No trigger" | 
|  |  | 
|  | config LIS3MDL_TRIGGER_GLOBAL_THREAD | 
|  | bool | 
|  | prompt "Use global thread" | 
|  | depends on GPIO | 
|  | select LIS3MDL_TRIGGER | 
|  |  | 
|  | config LIS3MDL_TRIGGER_OWN_THREAD | 
|  | bool | 
|  | prompt "Use own thread" | 
|  | depends on GPIO | 
|  | select LIS3MDL_TRIGGER | 
|  |  | 
|  | endchoice | 
|  |  | 
|  | config LIS3MDL_TRIGGER | 
|  | bool | 
|  | depends on LIS3MDL | 
|  |  | 
|  | config LIS3MDL_GPIO_DEV_NAME | 
|  | string | 
|  | prompt "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 | 
|  | prompt "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 | 
|  | prompt "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 | 
|  | prompt "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 | 
|  | prompt "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 | 
|  | prompt "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. |