# 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 depends on SPI_LEGACY_API default n 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 default "" 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 prompt "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