# SPDX-License-Identifier: GPL-2.0
#
# Kconfig for sensor drivers
#

config VIDEO_ATOMISP_OV2722
	tristate "OVT ov2722 sensor support"
	depends on ACPI
	depends on I2C && VIDEO_V4L2
	help
	  This is a Video4Linux2 sensor-level driver for the OVT
	  OV2722 raw camera.

	  OVT is a 2M raw sensor.

	  It currently only works with the atomisp driver.

config VIDEO_ATOMISP_GC2235
	tristate "Galaxy gc2235 sensor support"
	depends on ACPI
	depends on I2C && VIDEO_V4L2
	help
	  This is a Video4Linux2 sensor-level driver for the OVT
	  GC2235 raw camera.

	  GC2235 is a 2M raw sensor.

	  It currently only works with the atomisp driver.

config VIDEO_ATOMISP_MSRLIST_HELPER
	tristate "Helper library to load, parse and apply large register lists."
	depends on I2C
	help
	  This is a helper library to be used from a sensor driver to load, parse
	  and apply large register lists.

	  To compile this driver as a module, choose M here: the
	  module will be called libmsrlisthelper.

config VIDEO_ATOMISP_MT9M114
	tristate "Aptina mt9m114 sensor support"
	depends on ACPI
	depends on I2C && VIDEO_V4L2
	help
	  This is a Video4Linux2 sensor-level driver for the Micron
	  mt9m114 1.3 Mpixel camera.

	  mt9m114 is video camera sensor.

	  It currently only works with the atomisp driver.

config VIDEO_ATOMISP_GC0310
	tristate "GC0310 sensor support"
	depends on ACPI
	depends on I2C && VIDEO_V4L2
	help
	  This is a Video4Linux2 sensor-level driver for the Galaxycore
	  GC0310 0.3MP sensor.

config VIDEO_ATOMISP_OV2680
	tristate "Omnivision OV2680 sensor support"
	depends on ACPI
	depends on I2C && VIDEO_V4L2
	help
	  This is a Video4Linux2 sensor-level driver for the Omnivision
	  OV2680 raw camera.

	  ov2680 is a 2M raw sensor.

	  It currently only works with the atomisp driver.

config VIDEO_ATOMISP_OV5693
	tristate "Omnivision ov5693 sensor support"
	depends on ACPI
	depends on I2C && VIDEO_V4L2
	help
	  This is a Video4Linux2 sensor-level driver for the Micron
	  ov5693 5 Mpixel camera.

	  ov5693 is video camera sensor.

	  It currently only works with the atomisp driver.

#
# Kconfig for flash drivers
#

config VIDEO_ATOMISP_LM3554
       tristate "LM3554 flash light driver"
	depends on ACPI
       depends on VIDEO_V4L2 && I2C
	help
	 This is a Video4Linux2 sub-dev driver for the LM3554
	 flash light driver.

	 To compile this driver as a module, choose M here: the
	 module will be called lm3554
