# Sensor configuration options

# Copyright (c) 2016 Intel Corporation
# SPDX-License-Identifier: Apache-2.0

menuconfig SENSOR
	bool "Sensor Drivers"
	help
	  Include sensor drivers in system config

if SENSOR

module = SENSOR
module-str = sensor
source "subsys/logging/Kconfig.template.log_config"

config SENSOR_INIT_PRIORITY
	int "Sensor init priority"
	default 90
	help
	  Sensor initialization priority.

config SENSOR_SHELL
	bool "Enable sensor shell"
	depends on SHELL
	default y
	help
	  This shell provides access to basic sensor data.

config SENSOR_SHELL_BATTERY
	bool "Enable sensor shell 'battery' command"
	depends on SHELL
	help
	  This enables the 'battery' command which reports charging information
	  in a convenient format. It makes use of a fuel gauge to read its
	  information.

comment "Device Drivers"

source "drivers/sensor/adt7420/Kconfig"

source "drivers/sensor/adxl345/Kconfig"

source "drivers/sensor/adxl362/Kconfig"

source "drivers/sensor/adxl372/Kconfig"

source "drivers/sensor/ak8975/Kconfig"

source "drivers/sensor/amg88xx/Kconfig"

source "drivers/sensor/ams_iAQcore/Kconfig"

source "drivers/sensor/apds9960/Kconfig"

source "drivers/sensor/bma280/Kconfig"

source "drivers/sensor/bmc150_magn/Kconfig"

source "drivers/sensor/bme280/Kconfig"

source "drivers/sensor/bme680/Kconfig"

source "drivers/sensor/bmg160/Kconfig"

source "drivers/sensor/bmi160/Kconfig"

source "drivers/sensor/bmm150/Kconfig"

source "drivers/sensor/bq274xx/Kconfig"

source "drivers/sensor/ccs811/Kconfig"

source "drivers/sensor/dht/Kconfig"

source "drivers/sensor/dps310/Kconfig"

source "drivers/sensor/ens210/Kconfig"

source "drivers/sensor/fxas21002/Kconfig"

source "drivers/sensor/fxos8700/Kconfig"

source "drivers/sensor/grove/Kconfig"

source "drivers/sensor/ti_hdc/Kconfig"

source "drivers/sensor/hmc5883l/Kconfig"

source "drivers/sensor/hp206c/Kconfig"

source "drivers/sensor/hts221/Kconfig"

source "drivers/sensor/iis2dh/Kconfig"

source "drivers/sensor/iis2dlpc/Kconfig"

source "drivers/sensor/iis2mdc/Kconfig"

source "drivers/sensor/iis3dhhc/Kconfig"

source "drivers/sensor/isl29035/Kconfig"

source "drivers/sensor/ism330dhcx/Kconfig"

source "drivers/sensor/lis2dh/Kconfig"

source "drivers/sensor/lis2ds12/Kconfig"

source "drivers/sensor/lis2dw12/Kconfig"

source "drivers/sensor/lis2mdl/Kconfig"

source "drivers/sensor/lis3mdl/Kconfig"

source "drivers/sensor/lps22hb/Kconfig"

source "drivers/sensor/lps22hh/Kconfig"

source "drivers/sensor/lps25hb/Kconfig"

source "drivers/sensor/lsm303dlhc_magn/Kconfig"

source "drivers/sensor/lsm6ds0/Kconfig"

source "drivers/sensor/lsm6dsl/Kconfig"

source "drivers/sensor/lsm6dso/Kconfig"

source "drivers/sensor/lsm9ds0_gyro/Kconfig"

source "drivers/sensor/lsm9ds0_mfd/Kconfig"

source "drivers/sensor/max17055/Kconfig"

source "drivers/sensor/max30101/Kconfig"

source "drivers/sensor/max44009/Kconfig"

source "drivers/sensor/mchp_tach_xec/Kconfig"

source "drivers/sensor/mcp9808/Kconfig"

source "drivers/sensor/mpr/Kconfig"

source "drivers/sensor/mpu6050/Kconfig"

source "drivers/sensor/ms5837/Kconfig"

source "drivers/sensor/ms5607/Kconfig"

source "drivers/sensor/nrf5/Kconfig"

source "drivers/sensor/opt3001/Kconfig"

source "drivers/sensor/pms7003/Kconfig"

source "drivers/sensor/qdec_nrfx/Kconfig"

source "drivers/sensor/sht3xd/Kconfig"

source "drivers/sensor/si7006/Kconfig"

source "drivers/sensor/si7055/Kconfig"

source "drivers/sensor/si7060/Kconfig"

source "drivers/sensor/sm351lt/Kconfig"

source "drivers/sensor/stts751/Kconfig"

source "drivers/sensor/sx9500/Kconfig"

source "drivers/sensor/th02/Kconfig"

source "drivers/sensor/tmp007/Kconfig"

source "drivers/sensor/tmp112/Kconfig"

source "drivers/sensor/tmp116/Kconfig"

source "drivers/sensor/vcnl4040/Kconfig"

source "drivers/sensor/vl53l0x/Kconfig"

source "drivers/sensor/nxp_kinetis_temp/Kconfig"

source "drivers/sensor/wsen_itds/Kconfig"

endif # SENSOR
