Boot Linux faster!

Check our new training course

Boot Linux faster!

Check our new training course
and Creative Commons CC-BY-SA
lecture and lab materials

Bootlin logo

Elixir Cross Referencer

# Kconfig.bma280 - BMA280 Three Axis Accelerometer configuration options

#
# Copyright (c) 2016 Intel Corporation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

menuconfig BMA280
	bool
	prompt "BMA280 Three Axis Accelerometer Family"
	depends on SENSOR && I2C
	default n
	help
	  Enable driver for BMA280 I2C-based triaxial accelerometer sensor
	  family.

config BMA280_SYS_LOG_LEVEL
	int "BMA280 Gyro Log level"
	depends on SYS_LOG && BMA280
	default 0
	range 0 4
	help
	  Sets log level for BMA280 driver.
	  Levels are:
	  0 OFF, do not write
	  1 ERROR, only write SYS_LOG_ERR
	  2 WARNING, write SYS_LOG_WRN in addition to previous level
	  3 INFO, write SYS_LOG_INF in addition to previous levels
	  4 DEBUG, write SYS_LOG_DBG in addition to previous levels

choice
	prompt "Chip type"
	depends on BMA280
	default BMA280_CHIP_BMA280
	help
	  Choose desired chip type from the BMA280 family.

config BMA280_CHIP_BMA280
	bool
	prompt "BMA280"
	help
	  Choose this option to enable the BMA280 chip.

config BMA280_CHIP_BMC150_ACCEL
	bool
	prompt "BMC150_ACCEL"
	help
	  Choose this option to enable the accelerometer of the BMC150 chip.

endchoice

config BMA280_NAME
	string
	prompt "Driver name"
	default "BMA280" if BMA280_CHIP_BMA280
	default "BMC150_ACCEL" if BMA280_CHIP_BMC150_ACCEL
	depends on BMA280
	help
	  Device name with which the sensor is identified.

config BMA280_INIT_PRIORITY
	int
	prompt "Init priority"
	depends on BMA280
	default 70
	help
	  Device driver initialization priority.

choice
	prompt "I2C address"
	depends on BMA280
	default BMA280_I2C_ADDR_0x18 if BMA280_CHIP_BMA280
	default BMA280_I2C_ADDR_0x10 if BMA280_CHIP_BMC150_ACCEL
	help
	  I2C address of the BMA280 sensor.

config BMA280_I2C_ADDR_0x10
	bool
	prompt "0x10"
	depends on BMA280_CHIP_BMC150_ACCEL
	help
	  Choose this option if the SDO pin is pulled to GND.

config BMA280_I2C_ADDR_0x11
	bool
	prompt "0x11"
	depends on BMA280_CHIP_BMC150_ACCEL
	help
	  Choose this option if the SDO pin is pulled to VDDIO.

config BMA280_I2C_ADDR_0x18
	bool
	prompt "0x18"
	depends on BMA280_CHIP_BMA280
	help
	  Choose this option if the SDO pin is pulled to GND.

config BMA280_I2C_ADDR_0x19
	bool
	prompt "0x19"
	depends on BMA280_CHIP_BMA280
	help
	  Choose this option if the SDO pin is pulled to VDDIO.

endchoice

config BMA280_I2C_MASTER_DEV_NAME
	string
	prompt "I2C master device name"
	depends on BMA280
	default "I2C_0"
	help
	  Specify the device name of the I2C master device to which chip is
	  connected.

choice
	prompt "Trigger mode"
	depends on BMA280
	default BMA280_TRIGGER_GLOBAL_FIBER
	help
	  Specify the type of triggering to be used by the driver.

config BMA280_TRIGGER_NONE
	bool
	prompt "No trigger"

config BMA280_TRIGGER_GLOBAL_FIBER
	bool
	prompt "Use global fiber"
	depends on GPIO && SYSTEM_WORKQUEUE
	select BMA280_TRIGGER

config BMA280_TRIGGER_OWN_FIBER
	bool
	prompt "Use own fiber"
	depends on GPIO
	select BMA280_TRIGGER

endchoice

config BMA280_TRIGGER
	bool
	depends on BMA280

config BMA280_GPIO_DEV_NAME
	string
	prompt "GPIO device"
	default "GPIO_0"
	depends on BMA280 && BMA280_TRIGGER
	help
	  The device name of the GPIO device to which the chip's interrupt pins
	  are connected.

config BMA280_GPIO_PIN_NUM
	int
	prompt "Interrupt GPIO pin number"
	default 0
	depends on BMA280 && BMA280_TRIGGER
	help
	  The number of the GPIO on which the interrupt signal from the chip
	  will be received.

config BMA280_FIBER_PRIORITY
	int
	prompt "Fiber priority"
	depends on BMA280 && BMA280_TRIGGER_OWN_FIBER
	default 10
	help
	  Priority of fiber used by the driver to handle interrupts.

config BMA280_FIBER_STACK_SIZE
	int
	prompt "Fiber stack size"
	depends on BMA280 && BMA280_TRIGGER_OWN_FIBER
	default 1024
	help
	  Stack size of fiber used by the driver to handle interrupts.

choice
	prompt "Acceleration measurement range"
	depends on BMA280
	default BMA280_PMU_RANGE_2G
	help
	  Measurement range for acceleration values.

config BMA280_PMU_RANGE_2G
	bool
	prompt "+/-2g"

config BMA280_PMU_RANGE_4G
	bool
	prompt "+/-4g"

config BMA280_PMU_RANGE_8G
	bool
	prompt "+/-8g"

config BMA280_PMU_RANGE_16G
	bool
	prompt "+/-16g"

endchoice

choice
	prompt "Acceleration data filter bandwidth"
	depends on BMA280
	default BMA280_PMU_BW_7
	help
	  Bandwidth of filtered acceleration data.

config BMA280_PMU_BW_1
	bool
	prompt "7.81Hz"

config BMA280_PMU_BW_2
	bool
	prompt "15.63HZ"

config BMA280_PMU_BW_3
	bool
	prompt "31.25Hz"

config BMA280_PMU_BW_4
	bool
	prompt "62.5Hz"

config BMA280_PMU_BW_5
	bool
	prompt "125Hz"

config BMA280_PMU_BW_6
	bool
	prompt "250HZ"

config BMA280_PMU_BW_7
	bool
	prompt "500Hz"

config BMA280_PMU_BW_8
	bool
	prompt "unfiltered"

endchoice