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.

if BMI160

choice
	prompt "Trigger mode"
	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

config BMI160_THREAD_PRIORITY
	int "Own thread priority"
	depends on 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_TRIGGER_OWN_THREAD
	default 1024
	help
	  The thread stack size.

choice
	prompt "Accelerometer power mode"
	default BMI160_ACCEL_PMU_RUNTIME

config BMI160_ACCEL_PMU_RUNTIME
	bool "Set at runtime."

config BMI160_ACCEL_PMU_SUSPEND
	bool "suspended/not used"

config BMI160_ACCEL_PMU_NORMAL
	bool "normal"

config BMI160_ACCEL_PMU_LOW_POWER
	bool "low power"
endchoice

choice
	prompt "Accelerometer range setting"
	depends on 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_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"
	default BMI160_GYRO_PMU_RUNTIME

config BMI160_GYRO_PMU_RUNTIME
	bool "Set at runtime."

config BMI160_GYRO_PMU_SUSPEND
	bool "suspended/not used"

config BMI160_GYRO_PMU_NORMAL
	bool "normal"

config BMI160_GYRO_PMU_FAST_STARTUP
	bool "fast start-up"
endchoice

choice
	prompt "Gyroscope range setting."
	depends on 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_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

endif # BMI160