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