# Kconfig - MPU6050 Six-Axis Motion Tracking device configuration options

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

menuconfig MPU6050
	bool
	prompt "MPU6050 Six-Axis Motion Tracking Device"
	depends on SENSOR && I2C
	default n
	help
	  Enable driver for MPU6050 I2C-based six-axis motion tracking device.

config MPU6050_NAME
	string
	prompt "Driver name"
	default "MPU6050"
	depends on MPU6050
	help
	  Device name with which the MPU6050 sensor is identified.

config MPU6050_I2C_ADDR
	hex
	prompt "I2C address"
	depends on MPU6050
	default 0x68
	range 0x68 0x69
	help
	  I2C address of the MPU6050 sensor.
	  Choose 0x68 if the AD0 pin is pulled to GND or 0x69 if the AD0 pin
	  is pulled to VDD.

config MPU6050_I2C_MASTER_DEV_NAME
	string
	prompt "I2C master where MPU6050 is connected"
	depends on MPU6050
	default "I2C_0"
	help
	  Specify the device name of the I2C master device to which MPU6050 is
	  connected.

choice
	prompt "Trigger mode"
	depends on MPU6050
	default MPU6050_TRIGGER_GLOBAL_THREAD
	help
	  Specify the type of triggering to be used by the driver.

config MPU6050_TRIGGER_NONE
	bool
	prompt "No trigger"

config MPU6050_TRIGGER_GLOBAL_THREAD
	bool
	prompt "Use global thread"
	depends on GPIO
	select MPU6050_TRIGGER

config MPU6050_TRIGGER_OWN_THREAD
	bool
	prompt "Use own thread"
	depends on GPIO
	select MPU6050_TRIGGER

endchoice

config MPU6050_TRIGGER
	bool
	depends on MPU6050

config MPU6050_GPIO_DEV_NAME
	string
	prompt "GPIO device"
	default "GPIO_0"
	depends on MPU6050 && MPU6050_TRIGGER
	help
	  The device name of the GPIO device to which the MPU6050 interrupt pin
	  is connected.

config MPU6050_GPIO_PIN_NUM
	int
	prompt "Interrupt GPIO pin number"
	default 0
	depends on MPU6050 && MPU6050_TRIGGER
	help
	  The number of the GPIO on which the interrupt signal from the MPU6050
	  chip will be received.

config MPU6050_THREAD_PRIORITY
	int
	prompt "Thread priority"
	depends on MPU6050 && MPU6050_TRIGGER_OWN_THREAD
	default 10
	help
	  Priority of thread used by the driver to handle interrupts.

config MPU6050_THREAD_STACK_SIZE
	int
	prompt "Thread stack size"
	depends on MPU6050 && MPU6050_TRIGGER_OWN_THREAD
	default 1024
	help
	  Stack size of thread used by the driver to handle interrupts.

config MPU6050_ACCEL_FS
	int
	prompt "Accelerometer full-scale range"
	depends on MPU6050
	default 2
	help
	  Magnetometer full-scale range.
	  An X value for the config represents a range of +/- X g. Valid
	  values are 2, 4, 8 and 16.

config MPU6050_GYRO_FS
	int
	prompt "Gyroscope full-scale range"
	depends on MPU6050
	default 250
	help
	  Gyroscope full-scale range.
	  An X value for the config represents a range of +/- X degrees/second.
	  Valid values are 250, 500, 1000, 2000.
