# SPDX-License-Identifier: GPL-2.0
config SOC_CAMERA
	tristate "SoC camera support"
	depends on VIDEO_V4L2 && HAS_DMA && I2C && BROKEN
	select VIDEOBUF2_CORE
	help
	  SoC Camera is a common API to several cameras, not connecting
	  over a bus like PCI or USB. For example some i2c camera connected
	  directly to the data bus of an SoC.

comment "soc_camera sensor drivers"

config SOC_CAMERA_MT9M111
	tristate "legacy soc_camera mt9m111, mt9m112 and mt9m131 support"
	depends on SOC_CAMERA && I2C
	select VIDEO_MT9M111
	help
	  This driver supports MT9M111, MT9M112 and MT9M131 cameras from
	  Micron/Aptina.
	  This is the legacy configuration which shouldn't be used anymore,
	  while VIDEO_MT9M111 should be used instead.

config SOC_CAMERA_MT9V022
	tristate "mt9v022 and mt9v024 support"
	depends on SOC_CAMERA && I2C
	help
	  This driver supports MT9V022 cameras from Micron

config SOC_CAMERA_OV5642
	tristate "ov5642 camera support"
	depends on SOC_CAMERA && I2C
	help
	  This is a V4L2 camera driver for the OmniVision OV5642 sensor

config SOC_CAMERA_OV9740
	tristate "ov9740 camera support"
	depends on SOC_CAMERA && I2C
	help
	  This is a ov9740 camera driver

config SOC_CAMERA_IMX074
	tristate "imx074 support (DEPRECATED)"
	depends on SOC_CAMERA && I2C
	help
	  This driver supports IMX074 cameras from Sony

config SOC_CAMERA_MT9T031
	tristate "mt9t031 support (DEPRECATED)"
	depends on SOC_CAMERA && I2C
	help
	  This driver supports MT9T031 cameras from Micron.
