# Kconfig.lsm9ds0_gyro - LSM9DS0 gyroscope sensor configuration options

#
# Copyright (c) 2016 Intel Corporation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

menuconfig LSM9DS0_GYRO
	bool "LSM9DS0 I2C gyroscope Chip"
	depends on SENSOR && I2C && NANO_TIMEOUTS
	default n
	help
	  Enable driver for LSM9DS0 I2C-based gyroscope sensor.

config LSM9DS0_GYRO_DEV_NAME
	string "LSM9DS0_GYRO device name"
	depends on LSM9DS0_GYRO
	default "lsm9ds0_gyro"

config LSM9DS0_GYRO_INIT_PRIORITY
	int
	depends on LSM9DS0_GYRO
	default 70
	prompt "Init priority"
	help
	  Device driver initialization priority.

choice
	prompt "LSM9DS0_GYRO I2C slave address"
	default LSM9DS0_GYRO_I2C_ADDR_6A
	depends on LSM9DS0_GYRO
	help
	  Specify the I2C slave address for the LSM9DS0_GYRO.

config LSM9DS0_GYRO_I2C_ADDR_6A
	bool
	prompt "0x6A (GND)"

config LSM9DS0_GYRO_I2C_ADDR_6B
	bool
	prompt "0x6B (VCC)"

endchoice

config LSM9DS0_GYRO_I2C_MASTER_DEV_NAME
	string "I2C master where LSM9DS0 gyroscope is connected"
	depends on LSM9DS0_GYRO
	default "I2C0"
	help
	  Specify the device name of the I2C master device to which LSM9DS0_GYRO
	  is connected.

menu "Attributes"
	depends on LSM9DS0_GYRO

choice
	prompt "Default full-scale"
	default LSM9DS0_GYRO_FULLSCALE_245
	depends on LSM9DS0_GYRO
	help
	  Specify the default full-scale.

config LSM9DS0_GYRO_FULLSCALE_245
	bool
	prompt "245 dps"

config LSM9DS0_GYRO_FULLSCALE_500
	bool
	prompt "500 dps"

config LSM9DS0_GYRO_FULLSCALE_2000
	bool
	prompt "2000 dps"

endchoice

config LSM9DS0_GYRO_FULLSCALE_RUNTIME
	bool "Enable dynamic full-scale"
	depends on LSM9DS0_GYRO
	default n
	help
	  Enable alteration of full-scale attribute at runtime.

choice
	prompt "Default sampling rate frequency"
	default LSM9DS0_GYRO_SAMPLING_RATE_95
	depends on LSM9DS0_GYRO
	help
	  Specify the default sampling rate frequency.

config LSM9DS0_GYRO_SAMPLING_RATE_95
	bool
	prompt "95 Hz"

config LSM9DS0_GYRO_SAMPLING_RATE_190
	bool
	prompt "190 Hz"

config LSM9DS0_GYRO_SAMPLING_RATE_380
	bool
	prompt "380 Hz"

config LSM9DS0_GYRO_SAMPLING_RATE_760
	bool
	prompt "760 Hz"

endchoice

config LSM9DS0_GYRO_SAMPLING_RATE_RUNTIME
	bool "Enable dynamic sampling rate"
	depends on LSM9DS0_GYRO
	default n
	help
	  Enable alteration of sampling rate frequency at runtime.

endmenu

config LSM9DS0_GYRO_TRIGGERS
	bool "Enable triggers"
	depends on LSM9DS0_GYRO && GPIO
	default n

config LSM9DS0_GYRO_FIBER_STACK_SIZE
	int "Fiber stack size"
	depends on LSM9DS0_GYRO_TRIGGERS
	default 1024
	help
	  Specify the internal fiber stack size.

config LSM9DS0_GYRO_TRIGGER_DRDY
	bool "Enable data ready trigger"
	depends on LSM9DS0_GYRO_TRIGGERS
	default n

config LSM9DS0_GYRO_GPIO_DRDY_DEV_NAME
	string "GPIO device where LSM9DS0_GYRO data ready interrupt is connected"
	depends on LSM9DS0_GYRO_TRIGGER_DRDY
	default GPIO_0
	help
	  Specify the device name of the GPIO controller the BMC150_MAGN interrupt
	  is connected to.

config LSM9DS0_GYRO_GPIO_DRDY_INT_PIN
	int
	default 3
	depends on LSM9DS0_GYRO_TRIGGER_DRDY
	prompt "GPIO pin number for the data ready interrupt pin"
