Linux Audio

Check our new training course

Embedded Linux Audio

Check our new training course
with Creative Commons CC-BY-SA
lecture materials

Bootlin logo

Elixir Cross Referencer

Loading...
# Kconfig - Bosch BMG160 gyroscope configuration options

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

menuconfig BMG160
	bool "Bosch BMG160 gyroscope support"
	depends on I2C
	default n
	help
	  Enable Bosch BMG160 gyroscope support.

config BMG160_DRV_NAME
	string "Driver's name"
	depends on BMG160
	default "bmg160"
	help
	  Name for the BMG160 driver which will be used for binding.

config BMG160_I2C_PORT_NAME
	string "I2C master controller port name"
	depends on BMG160
	default "I2C_0"
	help
	  Master I2C port name through which BMG160 chip is accessed.

config BMG160_I2C_ADDR
	hex "BMG160 I2C address"
	depends on BMG160
	default 0x68
	help
	  BMG160 chip's I2C address. Chip supports two addresses: 0x68 and 0x69 (if
	  SDO pin is pulled to GND).

choice
	prompt "BMG160 I2C bus speed"
	default BMG160_I2C_SPEED_STANDARD
	depends on BMG160

config BMG160_I2C_SPEED_STANDARD
	bool "Standard"
	help
	  Standard bus speed of up to 100kHz.

config BMG160_I2C_SPEED_FAST
	bool "Fast"
	help
	  Fast bus speed of up to 400KHz.
endchoice

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

config BMG160_TRIGGER_NONE
	bool
	prompt "No trigger"

config BMG160_TRIGGER_GLOBAL_THREAD
	bool "Use global thread"
	select BMG160_TRIGGER

config BMG160_TRIGGER_OWN_THREAD
	bool "Use own thread"
	select BMG160_TRIGGER
endchoice

config BMG160_TRIGGER
	bool
	depends on BMG160

config BMG160_THREAD_PRIORITY
	int "Own thread priority"
	depends on BMG160 && BMG160_TRIGGER_OWN_THREAD
	default 10
	help
	  The priority of the thread used for handling interrupts.

config BMG160_THREAD_STACK_SIZE
	int "Own thread stack size"
	depends on BMG160 && BMG160_TRIGGER_OWN_THREAD
	default 1024
	help
	  The thread stack size.

config BMG160_GPIO_PORT_NAME
	string "GPIO controller port name"
	depends on BMG160 && BMG160_TRIGGER
	default "GPIO_0"
	help
	  The gpio controller the interrupt pin is attached to.

config BMG160_INT_PIN
	hex "BMG160 INT PIN"
	depends on BMG160 && BMG160_TRIGGER
	default 2
	help
	  BMG160 interrupt pin.

choice
	prompt "Gyroscope range setting."
	depends on BMG160
	default BMG160_RANGE_RUNTIME

config BMG160_RANGE_RUNTIME
	bool "Set at runtime."

config BMG160_RANGE_2000DPS
	bool "2000 DPS"

config BMG160_RANGE_1000DPS
	bool "1000 DPS"

config BMG160_RANGE_500DPS
	bool "500 DPS"

config BMG160_RANGE_250DPS
	bool "250 DPS"

config BMG160_RANGE_125DPS
	bool "125 DPS"
endchoice

choice
	prompt "Gyroscope sampling frequency."
	depends on BMG160
	default BMG160_ODR_RUNTIME

config BMG160_ODR_RUNTIME
	bool "Set at runtime."

config BMG160_ODR_100
	bool "100 Hz"

config BMG160_ODR_200
	bool "200 Hz"

config BMG160_ODR_400
	bool "400 Hz"

config BMG160_ODR_1000
	bool "1000 Hz"

config BMG160_ODR_2000
	bool "2000 Hz"
endchoice