Linux preempt-rt

Check our new training course

Real-Time Linux with PREEMPT_RT

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

Bootlin logo

Elixir Cross Referencer

# Kconfig - Bosch BMI160 inertial measurement configuration options

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

menuconfig BMI160
	bool "Bosch BMI160 inertial measurement unit"
	depends on SPI
	help
	  Enable Bosch BMI160 inertial measurement unit that provides acceleration
	  and angular rate measurements.

config BMI160_NAME
	string "Driver's name"
	depends on BMI160
	default "BMI160"

config BMI160_SPI_PORT_NAME
	string "SPI master controller port name"
	depends on BMI160
	help
	  Master SPI port name through which BMI160 chip is accessed.

config BMI160_SLAVE
	hex "BMI160 SPI slave select pin"
	depends on BMI160
	default 0
	help
	  BMI160 chip select pin.

config BMI160_SPI_BUS_FREQ
	int "BMI160 SPI bus speed in Hz"
	default 640000
	depends on BMI160
	help
	  This is the maximum supported SPI bus frequency. The chip supports a
	  frequency up to 10MHz.

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

config BMI160_TRIGGER_NONE
	bool "No trigger"

config BMI160_TRIGGER_GLOBAL_THREAD
	bool "Use global thread"
	select BMI160_TRIGGER

config BMI160_TRIGGER_OWN_THREAD
	bool "Use own thread"
	select BMI160_TRIGGER
endchoice

config BMI160_TRIGGER
	bool
	depends on BMI160

config BMI160_THREAD_PRIORITY
	int "Own thread priority"
	depends on BMI160 && BMI160_TRIGGER_OWN_THREAD
	default 10
	help
	  The priority of the thread used for handling interrupts.

config BMI160_THREAD_STACK_SIZE
	int "Own thread stack size"
	depends on BMI160 && BMI160_TRIGGER_OWN_THREAD
	default 1024
	help
	  The thread stack size.

config BMI160_GPIO_DEV_NAME
	string "Gpio device"
	default "GPIO_1"
	depends on BMI160 && BMI160_TRIGGER
	help
	  The name of the GPIO device to which the BMI160 interrupt pin is
	  connected.

config BMI160_GPIO_PIN_NUM
	int "Interrupt GPIO pin number"
	default 4
	depends on BMI160 && BMI160_TRIGGER
	help
	  The number of the GPIO pin which is connected to BMI160 interrupt pin.

choice
	prompt "Accelerometer power mode"
	depends on BMI160
	default BMI160_ACCEL_PMU_RUNTIME

config BMI160_ACCEL_PMU_RUNTIME
	bool "Set at runtime."
	depends on BMI160

config BMI160_ACCEL_PMU_SUSPEND
	bool "suspended/not used"
	depends on BMI160

config BMI160_ACCEL_PMU_NORMAL
	bool "normal"
	depends on BMI160

config BMI160_ACCEL_PMU_LOW_POWER
	bool "low power"
	depends on BMI160
endchoice

choice
	prompt "Accelerometer range setting"
	depends on BMI160 && (BMI160_ACCEL_PMU_RUNTIME || BMI160_ACCEL_PMU_NORMAL || BMI160_ACCEL_PMU_LOW_POWER)
	default BMI160_ACCEL_RANGE_RUNTIME

config BMI160_ACCEL_RANGE_RUNTIME
	bool "Set at runtime."

config BMI160_ACCEL_RANGE_2G
	bool "2G"

config BMI160_ACCEL_RANGE_4G
	bool "4G"

config BMI160_ACCEL_RANGE_8G
	bool "8G"

config BMI160_ACCEL_RANGE_16G
	bool "16G"
endchoice

choice
	prompt "Accelerometer sampling frequency."
	depends on BMI160 && (BMI160_ACCEL_PMU_RUNTIME || BMI160_ACCEL_PMU_NORMAL || BMI160_ACCEL_PMU_LOW_POWER)
	default BMI160_ACCEL_ODR_RUNTIME

config BMI160_ACCEL_ODR_RUNTIME
	bool "Set at runtime."

config BMI160_ACCEL_ODR_25_32
	depends on BMI160_ACCEL_PMU_LOW_POWER
	bool "0.78 Hz"

config BMI160_ACCEL_ODR_25_16
	depends on BMI160_ACCEL_PMU_LOW_POWER
	bool "1.56 Hz"

config BMI160_ACCEL_ODR_25_8
	depends on BMI160_ACCEL_PMU_LOW_POWER
	bool "3.125 Hz"

config BMI160_ACCEL_ODR_25_4
	depends on BMI160_ACCEL_PMU_LOW_POWER
	bool "6.25 Hz"

config BMI160_ACCEL_ODR_25_2
	bool "12.5 Hz"

config BMI160_ACCEL_ODR_25
	bool "25 Hz"

config BMI160_ACCEL_ODR_50
	bool "50 Hz"

config BMI160_ACCEL_ODR_100
	bool "100 Hz"

config BMI160_ACCEL_ODR_200
	bool "200 Hz"

config BMI160_ACCEL_ODR_400
	bool "400 Hz"

config BMI160_ACCEL_ODR_800
	bool "800 Hz"

config BMI160_ACCEL_ODR_1600
	bool "1600 Hz"
endchoice

choice
	prompt "Gyroscope power mode"
	depends on BMI160
	default BMI160_GYRO_PMU_RUNTIME

config BMI160_GYRO_PMU_RUNTIME
	bool "Set at runtime."
	depends on BMI160

config BMI160_GYRO_PMU_SUSPEND
	bool "suspended/not used"
	depends on BMI160

config BMI160_GYRO_PMU_NORMAL
	bool "normal"
	depends on BMI160

config BMI160_GYRO_PMU_FAST_STARTUP
	bool "fast start-up"
	depends on BMI160
endchoice

choice
	prompt "Gyroscope range setting."
	depends on BMI160 && (BMI160_GYRO_PMU_RUNTIME || BMI160_GYRO_PMU_NORMAL || BMI160_GYRO_PMU_FAST_STARTUP)
	default BMI160_GYRO_RANGE_RUNTIME

config BMI160_GYRO_RANGE_RUNTIME
	bool "Set at runtime."

config BMI160_GYRO_RANGE_2000DPS
	bool "2000 DPS"

config BMI160_GYRO_RANGE_1000DPS
	bool "1000 DPS"

config BMI160_GYRO_RANGE_500DPS
	bool "500 DPS"

config BMI160_GYRO_RANGE_250DPS
	bool "250 DPS"

config BMI160_GYRO_RANGE_125DPS
	bool "125 DPS"
endchoice

choice
	prompt "Gyroscope sampling frequency."
	depends on BMI160 && (BMI160_GYRO_PMU_RUNTIME || BMI160_GYRO_PMU_NORMAL || BMI160_GYRO_PMU_FAST_STARTUP)
	default BMI160_GYRO_ODR_RUNTIME

config BMI160_GYRO_ODR_RUNTIME
	bool "Set at runtime."

config BMI160_GYRO_ODR_25
	bool "25 Hz"

config BMI160_GYRO_ODR_50
	bool "50 Hz"

config BMI160_GYRO_ODR_100
	bool "100 Hz"

config BMI160_GYRO_ODR_200
	bool "200 Hz"

config BMI160_GYRO_ODR_400
	bool "400 Hz"

config BMI160_GYRO_ODR_800
	bool "800 Hz"

config BMI160_GYRO_ODR_1600
	bool "1600 Hz"

config BMI160_GYRO_ODR_3200
	bool "3200 Hz"
endchoice