# LSM9DS0 accelerometer, magnetometer and temperature configuration options

# Copyright (c) 2016 Intel Corporation
# SPDX-License-Identifier: Apache-2.0

menuconfig LSM9DS0_MFD
	bool "LSM9DS0 I2C accelerometer, magnetometer and temperature sensor chip"
	depends on (I2C && HAS_DTS_I2C)
	help
	  Enable driver for LSM9DS0 I2C-based MFD sensor.

if LSM9DS0_MFD

config LSM9DS0_MFD_ACCEL_ENABLE
	bool "Enable accelerometer"
	default y
	help
	  Enable/disable accelerometer totally by stripping everything related
	  in driver.

config LSM9DS0_MFD_MAGN_ENABLE
	bool "Enable magnetometer"
	default y
	help
	  Enable/disable magnetometer totally by stripping everything related in
	  driver.

config LSM9DS0_MFD_TEMP_ENABLE
	bool "Enable temperature sensor"
	help
	  Enable/disable temperature sensor totally by stripping everything
	  related in driver.

menu "Attributes"

choice
	prompt "Accelerometer sampling rate"
	default LSM9DS0_MFD_ACCEL_SAMPLING_RATE_25
	depends on LSM9DS0_MFD_ACCEL_ENABLE
	help
	  Specify the default sampling rate frequency for accelerometer.

config LSM9DS0_MFD_ACCEL_SAMPLING_RATE_0
	bool "0 Hz (power down)"

config LSM9DS0_MFD_ACCEL_SAMPLING_RATE_3_125
	bool "3.125 Hz"

config LSM9DS0_MFD_ACCEL_SAMPLING_RATE_6_25
	bool "6.25 Hz"

config LSM9DS0_MFD_ACCEL_SAMPLING_RATE_12_5
	bool "12.5 Hz"

config LSM9DS0_MFD_ACCEL_SAMPLING_RATE_25
	bool "25 Hz"

config LSM9DS0_MFD_ACCEL_SAMPLING_RATE_50
	bool "50 Hz"

config LSM9DS0_MFD_ACCEL_SAMPLING_RATE_100
	bool "100 Hz"

config LSM9DS0_MFD_ACCEL_SAMPLING_RATE_200
	bool "200 Hz"

config LSM9DS0_MFD_ACCEL_SAMPLING_RATE_400
	bool "400 Hz"

config LSM9DS0_MFD_ACCEL_SAMPLING_RATE_800
	bool "800 Hz"

config LSM9DS0_MFD_ACCEL_SAMPLING_RATE_1600
	bool "1600 Hz"

endchoice

config LSM9DS0_MFD_ACCEL_SAMPLING_RATE_RUNTIME
	bool "Enable dynamic sampling rate for accelerometer"
	depends on LSM9DS0_MFD_ACCEL_ENABLE
	help
	  Enable alteration of accelerometer sampling rate attribute at
	  runtime.

choice
	prompt "Accelerometer full-scale"
	default LSM9DS0_MFD_ACCEL_FULL_SCALE_2
	depends on LSM9DS0_MFD_ACCEL_ENABLE
	help
	  Specify the default full-scale for accelerometer.

config LSM9DS0_MFD_ACCEL_FULL_SCALE_2
	bool "2G"

config LSM9DS0_MFD_ACCEL_FULL_SCALE_4
	bool "4G"

config LSM9DS0_MFD_ACCEL_FULL_SCALE_6
	bool "6G"

config LSM9DS0_MFD_ACCEL_FULL_SCALE_8
	bool "8G"

config LSM9DS0_MFD_ACCEL_FULL_SCALE_16
	bool "16G"

endchoice

config LSM9DS0_MFD_ACCEL_FULL_SCALE_RUNTIME
	bool "Enable dynamic full-scale for accelerometer"
	depends on LSM9DS0_MFD_ACCEL_ENABLE
	help
	  Enable alteration of accelerometer full-scale attribute at
	  runtime.

config LSM9DS0_MFD_ACCEL_ENABLE_X
	bool "Enable accelerometer X axis"
	depends on LSM9DS0_MFD_ACCEL_ENABLE
	default y

config LSM9DS0_MFD_ACCEL_ENABLE_Y
	bool "Enable accelerometer Y axis"
	depends on LSM9DS0_MFD_ACCEL_ENABLE
	default y

config LSM9DS0_MFD_ACCEL_ENABLE_Z
	bool "Enable accelerometer Z axis"
	depends on LSM9DS0_MFD_ACCEL_ENABLE
	default y

choice
	prompt "Magnetometer sampling rate"
	default LSM9DS0_MFD_MAGN_SAMPLING_RATE_25
	depends on LSM9DS0_MFD_MAGN_ENABLE
	help
	  Specify the default sampling rate frequency for magnetometer.

config LSM9DS0_MFD_MAGN_SAMPLING_RATE_3_125
	bool "3.125 Hz"

config LSM9DS0_MFD_MAGN_SAMPLING_RATE_6_25
	bool "6.25 Hz"

config LSM9DS0_MFD_MAGN_SAMPLING_RATE_12_5
	bool "12.5 Hz"

config LSM9DS0_MFD_MAGN_SAMPLING_RATE_25
	bool "25 Hz"

config LSM9DS0_MFD_MAGN_SAMPLING_RATE_50
	bool "50 Hz"

config LSM9DS0_MFD_MAGN_SAMPLING_RATE_100
	bool "100 Hz"

endchoice

config LSM9DS0_MFD_MAGN_SAMPLING_RATE_RUNTIME
	bool "Enable dynamic sampling rate for magnetometer"
	depends on LSM9DS0_MFD_MAGN_ENABLE
	help
	  Enable alteration of magnetometer sampling rate attribute at
	  runtime.

choice
	prompt "Magnetometer full-scale"
	default LSM9DS0_MFD_MAGN_FULL_SCALE_2
	depends on LSM9DS0_MFD_MAGN_ENABLE
	help
	  Specify the default full-scale for magnetometer.

config LSM9DS0_MFD_MAGN_FULL_SCALE_2
	bool "2 Gauss"

config LSM9DS0_MFD_MAGN_FULL_SCALE_4
	bool "4 Gauss"

config LSM9DS0_MFD_MAGN_FULL_SCALE_8
	bool "8 Gauss"

config LSM9DS0_MFD_MAGN_FULL_SCALE_12
	bool "12 Gauss"

endchoice

config LSM9DS0_MFD_MAGN_FULL_SCALE_RUNTIME
	bool "Enable dynamic full-scale for magnetometer"
	depends on LSM9DS0_MFD_MAGN_ENABLE
	help
	  Enable alteration of magnetometer full-scale attribute at
	  runtime.

endmenu

endif # LSM9DS0_MFD
