blob: 5889311b1fef28497f24c3fc94b4fc8f34f0aeee [file] [log] [blame]
# 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 || I2C
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