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...
# 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"
	default y
	depends on DT_HAS_BOSCH_BMI160_ENABLED
	select I2C if $(dt_compat_on_bus,$(DT_COMPAT_BOSCH_BMI160),i2c)
	select SPI if $(dt_compat_on_bus,$(DT_COMPAT_BOSCH_BMI160),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