# 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 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.
