# SPDX-License-Identifier: GPL-2.0-only
#
# Multimedia Video device configuration
#

if VIDEO_DEV

comment "IR I2C driver auto-selected by 'Autoselect ancillary drivers'"
	depends on MEDIA_SUBDRV_AUTOSELECT && I2C && RC_CORE

config VIDEO_IR_I2C
	tristate "I2C module for IR" if !MEDIA_SUBDRV_AUTOSELECT || EXPERT
	depends on I2C && RC_CORE
	default y
	help
	  Most boards have an IR chip directly connected via GPIO. However,
	  some video boards have the IR connected via I2C bus.

	  If your board doesn't have an I2C IR chip, you may disable this
	  option.

	  In doubt, say Y.

#
# V4L2 I2C drivers that are related with Camera support
#

menuconfig VIDEO_CAMERA_SENSOR
	bool "Camera sensor devices"
	depends on MEDIA_CAMERA_SUPPORT && I2C
	select MEDIA_CONTROLLER
	select V4L2_FWNODE
	select VIDEO_V4L2_SUBDEV_API
	default y

if VIDEO_CAMERA_SENSOR

config VIDEO_APTINA_PLL
	tristate

config VIDEO_CCS_PLL
	tristate

config VIDEO_AR0521
	tristate "ON Semiconductor AR0521 sensor support"
	help
	  This is a Video4Linux2 sensor driver for the ON Semiconductor
	  AR0521 camera.

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

config VIDEO_HI556
	tristate "Hynix Hi-556 sensor support"
	help
	  This is a Video4Linux2 sensor driver for the Hynix
	  Hi-556 camera.

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

config VIDEO_HI846
	tristate "Hynix Hi-846 sensor support"
	help
	  This is a Video4Linux2 sensor driver for the Hynix
	  Hi-846 camera.

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

config VIDEO_HI847
        tristate "Hynix Hi-847 sensor support"
        help
          This is a Video4Linux2 sensor driver for the Hynix
          Hi-847 camera.

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

config VIDEO_IMX208
	tristate "Sony IMX208 sensor support"
	help
	  This is a Video4Linux2 sensor driver for the Sony
	  IMX208 camera.

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

config VIDEO_IMX214
	tristate "Sony IMX214 sensor support"
	depends on GPIOLIB
	select REGMAP_I2C
	help
	  This is a Video4Linux2 sensor driver for the Sony
	  IMX214 camera.

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

config VIDEO_IMX219
	tristate "Sony IMX219 sensor support"
	help
	  This is a Video4Linux2 sensor driver for the Sony
	  IMX219 camera.

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

config VIDEO_IMX258
	tristate "Sony IMX258 sensor support"
	help
	  This is a Video4Linux2 sensor driver for the Sony
	  IMX258 camera.

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

config VIDEO_IMX274
	tristate "Sony IMX274 sensor support"
	select REGMAP_I2C
	help
	  This is a V4L2 sensor driver for the Sony IMX274
	  CMOS image sensor.

config VIDEO_IMX290
	tristate "Sony IMX290 sensor support"
	select REGMAP_I2C
	select V4L2_CCI_I2C
	help
	  This is a Video4Linux2 sensor driver for the Sony
	  IMX290 camera sensor.

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

config VIDEO_IMX296
	tristate "Sony IMX296 sensor support"
	help
	  This is a Video4Linux2 sensor driver for the Sony
	  IMX296 camera.

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

config VIDEO_IMX319
	tristate "Sony IMX319 sensor support"
	help
	  This is a Video4Linux2 sensor driver for the Sony
	  IMX319 camera.

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

config VIDEO_IMX334
	tristate "Sony IMX334 sensor support"
	depends on OF_GPIO
	help
	  This is a Video4Linux2 sensor driver for the Sony
	  IMX334 camera.

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

config VIDEO_IMX335
	tristate "Sony IMX335 sensor support"
	depends on OF_GPIO
	help
	  This is a Video4Linux2 sensor driver for the Sony
	  IMX335 camera.

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

config VIDEO_IMX355
	tristate "Sony IMX355 sensor support"
	help
	  This is a Video4Linux2 sensor driver for the Sony
	  IMX355 camera.

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

config VIDEO_IMX412
	tristate "Sony IMX412 sensor support"
	depends on OF_GPIO
	help
	  This is a Video4Linux2 sensor driver for the Sony
	  IMX412 camera.

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

config VIDEO_IMX415
	tristate "Sony IMX415 sensor support"
	depends on OF_GPIO
	help
	  This is a Video4Linux2 sensor driver for the Sony
	  IMX415 camera.

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

config VIDEO_MAX9271_LIB
	tristate

config VIDEO_MT9M001
	tristate "mt9m001 support"
	help
	  This driver supports MT9M001 cameras from Micron, monochrome
	  and colour models.

config VIDEO_MT9M111
	tristate "mt9m111, mt9m112 and mt9m131 support"
	help
	  This driver supports MT9M111, MT9M112 and MT9M131 cameras from
	  Micron/Aptina

config VIDEO_MT9P031
	tristate "Aptina MT9P031 support"
	select VIDEO_APTINA_PLL
	help
	  This is a Video4Linux2 sensor driver for the Aptina
	  (Micron) mt9p031 5 Mpixel camera.

config VIDEO_MT9T112
	tristate "Aptina MT9T111/MT9T112 support"
	help
	  This is a Video4Linux2 sensor driver for the Aptina
	  (Micron) MT9T111 and MT9T112 3 Mpixel camera.

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

config VIDEO_MT9V011
	tristate "Micron mt9v011 sensor support"
	help
	  This is a Video4Linux2 sensor driver for the Micron
	  mt0v011 1.3 Mpixel camera.  It currently only works with the
	  em28xx driver.

config VIDEO_MT9V032
	tristate "Micron MT9V032 sensor support"
	select REGMAP_I2C
	help
	  This is a Video4Linux2 sensor driver for the Micron
	  MT9V032 752x480 CMOS sensor.

config VIDEO_MT9V111
	tristate "Aptina MT9V111 sensor support"
	help
	  This is a Video4Linux2 sensor driver for the Aptina/Micron
	  MT9V111 sensor.

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

config VIDEO_OG01A1B
	tristate "OmniVision OG01A1B sensor support"
	help
	  This is a Video4Linux2 sensor driver for the OmniVision
	  OG01A1B camera.

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

config VIDEO_OV01A10
	tristate "OmniVision OV01A10 sensor support"
	help
	  This is a Video4Linux2 sensor driver for the OmniVision
	  OV01A10 camera.

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

config VIDEO_OV02A10
	tristate "OmniVision OV02A10 sensor support"
	help
	  This is a Video4Linux2 sensor driver for the OmniVision
	  OV02A10 camera.

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

config VIDEO_OV08D10
        tristate "OmniVision OV08D10 sensor support"
        help
          This is a Video4Linux2 sensor driver for the OmniVision
          OV08D10 camera sensor.

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

config VIDEO_OV08X40
	tristate "OmniVision OV08X40 sensor support"
	help
	  This is a Video4Linux2 sensor driver for the OmniVision
	  OV08X40 camera.

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

config VIDEO_OV13858
	tristate "OmniVision OV13858 sensor support"
	help
	  This is a Video4Linux2 sensor driver for the OmniVision
	  OV13858 camera.

config VIDEO_OV13B10
	tristate "OmniVision OV13B10 sensor support"
	help
	  This is a Video4Linux2 sensor driver for the OmniVision
	  OV13B10 camera.

config VIDEO_OV2640
	tristate "OmniVision OV2640 sensor support"
	help
	  This is a Video4Linux2 sensor driver for the OmniVision
	  OV2640 camera.

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

config VIDEO_OV2659
	tristate "OmniVision OV2659 sensor support"
	depends on GPIOLIB
	help
	  This is a Video4Linux2 sensor driver for the OmniVision
	  OV2659 camera.

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

config VIDEO_OV2680
	tristate "OmniVision OV2680 sensor support"
	select V4L2_CCI_I2C
	help
	  This is a Video4Linux2 sensor driver for the OmniVision
	  OV2680 camera.

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

config VIDEO_OV2685
	tristate "OmniVision OV2685 sensor support"
	help
	  This is a Video4Linux2 sensor driver for the OmniVision
	  OV2685 camera.

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

config VIDEO_OV2740
	tristate "OmniVision OV2740 sensor support"
	depends on ACPI || COMPILE_TEST
	select REGMAP_I2C
	help
	  This is a Video4Linux2 sensor driver for the OmniVision
	  OV2740 camera.

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

config VIDEO_OV4689
	tristate "OmniVision OV4689 sensor support"
	depends on GPIOLIB
	help
	  This is a Video4Linux2 sensor-level driver for the OmniVision
	  OV4689 camera.

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

config VIDEO_OV5640
	tristate "OmniVision OV5640 sensor support"
	depends on OF
	depends on GPIOLIB
	help
	  This is a Video4Linux2 sensor driver for the Omnivision
	  OV5640 camera sensor with a MIPI CSI-2 interface.

config VIDEO_OV5645
	tristate "OmniVision OV5645 sensor support"
	depends on OF
	help
	  This is a Video4Linux2 sensor driver for the OmniVision
	  OV5645 camera.

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

config VIDEO_OV5647
	tristate "OmniVision OV5647 sensor support"
	help
	  This is a Video4Linux2 sensor driver for the OmniVision
	  OV5647 camera.

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

config VIDEO_OV5648
	tristate "OmniVision OV5648 sensor support"
	depends on PM
	help
	  This is a Video4Linux2 sensor driver for the OmniVision
	  OV5648 camera.

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

config VIDEO_OV5670
	tristate "OmniVision OV5670 sensor support"
	help
	  This is a Video4Linux2 sensor driver for the OmniVision
	  OV5670 camera.

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

config VIDEO_OV5675
	tristate "OmniVision OV5675 sensor support"
	help
	  This is a Video4Linux2 sensor driver for the OmniVision
	  OV5675 camera.

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

config VIDEO_OV5693
	tristate "OmniVision OV5693 sensor support"
	select V4L2_CCI_I2C
	help
	  This is a Video4Linux2 sensor driver for the OmniVision
	  OV5693 camera.

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

config VIDEO_OV5695
	tristate "OmniVision OV5695 sensor support"
	help
	  This is a Video4Linux2 sensor driver for the OmniVision
	  OV5695 camera.

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

config VIDEO_OV6650
	tristate "OmniVision OV6650 sensor support"
	help
	  This is a Video4Linux2 sensor driver for the OmniVision
	  OV6650 camera.

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

config VIDEO_OV7251
	tristate "OmniVision OV7251 sensor support"
	help
	  This is a Video4Linux2 sensor driver for the OmniVision
	  OV7251 camera.

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

config VIDEO_OV7640
	tristate "OmniVision OV7640 sensor support"
	help
	  This is a Video4Linux2 sensor driver for the OmniVision
	  OV7640 camera.

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

config VIDEO_OV7670
	tristate "OmniVision OV7670 sensor support"
	help
	  This is a Video4Linux2 sensor driver for the OmniVision
	  OV7670 VGA camera.  It currently only works with the M88ALP01
	  controller.

config VIDEO_OV772X
	tristate "OmniVision OV772x sensor support"
	select REGMAP_SCCB
	help
	  This is a Video4Linux2 sensor driver for the OmniVision
	  OV772x camera.

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

config VIDEO_OV7740
	tristate "OmniVision OV7740 sensor support"
	select REGMAP_SCCB
	help
	  This is a Video4Linux2 sensor driver for the OmniVision
	  OV7740 VGA camera sensor.

config VIDEO_OV8856
	tristate "OmniVision OV8856 sensor support"
	help
	  This is a Video4Linux2 sensor driver for the OmniVision
	  OV8856 camera sensor.

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

config VIDEO_OV8858
	tristate "OmniVision OV8858 sensor support"
	depends on PM
	help
	  This is a Video4Linux2 sensor driver for OmniVision
	  OV8858 camera sensor.

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

config VIDEO_OV8865
	tristate "OmniVision OV8865 sensor support"
	depends on PM
	help
	  This is a Video4Linux2 sensor driver for OmniVision
	  OV8865 camera sensor.

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

config VIDEO_OV9282
	tristate "OmniVision OV9282 sensor support"
	depends on OF_GPIO
	help
	  This is a Video4Linux2 sensor driver for the OmniVision
	  OV9282 camera sensor.

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

config VIDEO_OV9640
	tristate "OmniVision OV9640 sensor support"
	help
	  This is a Video4Linux2 sensor driver for the OmniVision
	  OV9640 camera sensor.

config VIDEO_OV9650
	tristate "OmniVision OV9650/OV9652 sensor support"
	select REGMAP_SCCB
	help
	  This is a V4L2 sensor driver for the Omnivision
	  OV9650 and OV9652 camera sensors.

config VIDEO_OV9734
	tristate "OmniVision OV9734 sensor support"
	depends on ACPI || COMPILE_TEST
	help
	  This is a Video4Linux2 sensor driver for the OmniVision
	  OV9734 camera.

	  To compile this driver as a module, choose M here: the
	  module's name is ov9734.

config VIDEO_RDACM20
	tristate "IMI RDACM20 camera support"
	select VIDEO_MAX9271_LIB
	help
	  This driver supports the IMI RDACM20 GMSL camera, used in
	  ADAS systems.

	  This camera should be used in conjunction with a GMSL
	  deserialiser such as the MAX9286.

config VIDEO_RDACM21
	tristate "IMI RDACM21 camera support"
	select VIDEO_MAX9271_LIB
	help
	  This driver supports the IMI RDACM21 GMSL camera, used in
	  ADAS systems.

	  This camera should be used in conjunction with a GMSL
	  deserialiser such as the MAX9286.

config VIDEO_RJ54N1
	tristate "Sharp RJ54N1CB0C sensor support"
	help
	  This is a V4L2 sensor driver for Sharp RJ54N1CB0C CMOS image
	  sensor.

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

config VIDEO_S5C73M3
	tristate "Samsung S5C73M3 sensor support"
	depends on SPI
	help
	  This is a V4L2 sensor driver for Samsung S5C73M3
	  8 Mpixel camera.

config VIDEO_S5K5BAF
	tristate "Samsung S5K5BAF sensor support"
	help
	  This is a V4L2 sensor driver for Samsung S5K5BAF 2M
	  camera sensor with an embedded SoC image signal processor.

config VIDEO_S5K6A3
	tristate "Samsung S5K6A3 sensor support"
	help
	  This is a V4L2 sensor driver for Samsung S5K6A3 raw
	  camera sensor.

config VIDEO_ST_VGXY61
	tristate "ST VGXY61 sensor support"
	depends on OF && GPIOLIB
	help
	  This is a Video4Linux2 sensor driver for the ST VGXY61
	  camera sensor.

source "drivers/media/i2c/ccs/Kconfig"
source "drivers/media/i2c/et8ek8/Kconfig"

endif

menu "Lens drivers"
	visible if MEDIA_CAMERA_SUPPORT

config VIDEO_AD5820
	tristate "AD5820 lens voice coil support"
	depends on GPIOLIB && I2C && VIDEO_DEV
	select MEDIA_CONTROLLER
	select V4L2_ASYNC
	help
	  This is a driver for the AD5820 camera lens voice coil.
	  It is used for example in Nokia N900 (RX-51).

config VIDEO_AK7375
	tristate "AK7375 lens voice coil support"
	depends on I2C && VIDEO_DEV
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select V4L2_ASYNC
	help
	  This is a driver for the AK7375 camera lens voice coil.
	  AK7375 is a 12 bit DAC with 120mA output current sink
	  capability. This is designed for linear control of
	  voice coil motors, controlled via I2C serial interface.

config VIDEO_DW9714
	tristate "DW9714 lens voice coil support"
	depends on I2C && VIDEO_DEV
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select V4L2_ASYNC
	help
	  This is a driver for the DW9714 camera lens voice coil.
	  DW9714 is a 10 bit DAC with 120mA output current sink
	  capability. This is designed for linear control of
	  voice coil motors, controlled via I2C serial interface.

config VIDEO_DW9719
	tristate "DW9719 lens voice coil support"
	depends on I2C && VIDEO_DEV
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select V4L2_ASYNC
	select V4L2_CCI_I2C
	help
	  This is a driver for the DW9719 camera lens voice coil.
	  This is designed for linear control of voice coil motors,
	  controlled via I2C serial interface.

config VIDEO_DW9768
	tristate "DW9768 lens voice coil support"
	depends on I2C && VIDEO_DEV
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select V4L2_FWNODE
	help
	  This is a driver for the DW9768 camera lens voice coil.
	  DW9768 is a 10 bit DAC with 100mA output current sink
	  capability. This is designed for linear control of
	  voice coil motors, controlled via I2C serial interface.

config VIDEO_DW9807_VCM
	tristate "DW9807 lens voice coil support"
	depends on I2C && VIDEO_DEV
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select V4L2_ASYNC
	help
	  This is a driver for the DW9807 camera lens voice coil.
	  DW9807 is a 10 bit DAC with 100mA output current sink
	  capability. This is designed for linear control of
	  voice coil motors, controlled via I2C serial interface.

endmenu

menu "Flash devices"
	visible if MEDIA_CAMERA_SUPPORT

config VIDEO_ADP1653
	tristate "ADP1653 flash support"
	depends on I2C && VIDEO_DEV
	select MEDIA_CONTROLLER
	select V4L2_ASYNC
	help
	  This is a driver for the ADP1653 flash controller. It is used for
	  example in Nokia N900.

config VIDEO_LM3560
	tristate "LM3560 dual flash driver support"
	depends on I2C && VIDEO_DEV
	select MEDIA_CONTROLLER
	select REGMAP_I2C
	select V4L2_ASYNC
	help
	  This is a driver for the lm3560 dual flash controllers. It controls
	  flash, torch LEDs.

config VIDEO_LM3646
	tristate "LM3646 dual flash driver support"
	depends on I2C && VIDEO_DEV
	select MEDIA_CONTROLLER
	select REGMAP_I2C
	select V4L2_ASYNC
	help
	  This is a driver for the lm3646 dual flash controllers. It controls
	  flash, torch LEDs.

endmenu

#
# V4L2 I2C drivers that aren't related with Camera support
#

comment "audio, video and radio I2C drivers auto-selected by 'Autoselect ancillary drivers'"
	depends on MEDIA_HIDE_ANCILLARY_SUBDRV
#
# Encoder / Decoder module configuration
#

menu "Audio decoders, processors and mixers"
	visible if !MEDIA_HIDE_ANCILLARY_SUBDRV

config VIDEO_CS3308
	tristate "Cirrus Logic CS3308 audio ADC"
	depends on VIDEO_DEV && I2C
	help
	  Support for the Cirrus Logic CS3308 High Performance 8-Channel
	  Analog Volume Control

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

config VIDEO_CS5345
	tristate "Cirrus Logic CS5345 audio ADC"
	depends on VIDEO_DEV && I2C
	help
	  Support for the Cirrus Logic CS5345 24-bit, 192 kHz
	  stereo A/D converter.

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

config VIDEO_CS53L32A
	tristate "Cirrus Logic CS53L32A audio ADC"
	depends on VIDEO_DEV && I2C
	help
	  Support for the Cirrus Logic CS53L32A low voltage
	  stereo A/D converter.

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

config VIDEO_MSP3400
	tristate "Micronas MSP34xx audio decoders"
	depends on VIDEO_DEV && I2C
	help
	  Support for the Micronas MSP34xx series of audio decoders.

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

config VIDEO_SONY_BTF_MPX
	tristate "Sony BTF's internal MPX"
	depends on VIDEO_DEV && I2C
	help
	  Support for the internal MPX of the Sony BTF-PG472Z tuner.

	  To compile this driver as a module, choose M here: the
	  module will be called sony-btf-mpx.

config VIDEO_TDA1997X
	tristate "NXP TDA1997x HDMI receiver"
	depends on VIDEO_DEV && I2C
	depends on SND_SOC
	select HDMI
	select SND_PCM
	select V4L2_FWNODE
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	help
	  V4L2 subdevice driver for the NXP TDA1997x HDMI receivers.

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

config VIDEO_TDA7432
	tristate "Philips TDA7432 audio processor"
	depends on VIDEO_DEV && I2C
	help
	  Support for tda7432 audio decoder chip found on some bt8xx boards.

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

config VIDEO_TDA9840
	tristate "Philips TDA9840 audio processor"
	depends on I2C
	help
	  Support for tda9840 audio decoder chip found on some Zoran boards.

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

config VIDEO_TEA6415C
	tristate "Philips TEA6415C audio processor"
	depends on I2C
	help
	  Support for tea6415c audio decoder chip found on some bt8xx boards.

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

config VIDEO_TEA6420
	tristate "Philips TEA6420 audio processor"
	depends on I2C
	help
	  Support for tea6420 audio decoder chip found on some bt8xx boards.

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

config VIDEO_TLV320AIC23B
	tristate "Texas Instruments TLV320AIC23B audio codec"
	depends on VIDEO_DEV && I2C
	help
	  Support for the Texas Instruments TLV320AIC23B audio codec.

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

config VIDEO_TVAUDIO
	tristate "Simple audio decoder chips"
	depends on VIDEO_DEV && I2C
	help
	  Support for several audio decoder chips found on some bt8xx boards:
	  Philips: tda9840, tda9873h, tda9874h/a, tda9850, tda985x, tea6300,
		   tea6320, tea6420, tda8425, ta8874z.
	  Microchip: pic16c54 based design on ProVideo PV951 board.

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

config VIDEO_UDA1342
	tristate "Philips UDA1342 audio codec"
	depends on VIDEO_DEV && I2C
	help
	  Support for the Philips UDA1342 audio codec.

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

config VIDEO_VP27SMPX
	tristate "Panasonic VP27's internal MPX"
	depends on VIDEO_DEV && I2C
	help
	  Support for the internal MPX of the Panasonic VP27s tuner.

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

config VIDEO_WM8739
	tristate "Wolfson Microelectronics WM8739 stereo audio ADC"
	depends on VIDEO_DEV && I2C
	help
	  Support for the Wolfson Microelectronics WM8739
	  stereo A/D Converter.

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

config VIDEO_WM8775
	tristate "Wolfson Microelectronics WM8775 audio ADC with input mixer"
	depends on VIDEO_DEV && I2C
	help
	  Support for the Wolfson Microelectronics WM8775 high
	  performance stereo A/D Converter with a 4 channel input mixer.

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

endmenu

menu "RDS decoders"
	visible if !MEDIA_HIDE_ANCILLARY_SUBDRV

config VIDEO_SAA6588
	tristate "SAA6588 Radio Chip RDS decoder support"
	depends on VIDEO_DEV && I2C

	help
	  Support for this Radio Data System (RDS) decoder. This allows
	  seeing radio station identification transmitted using this
	  standard.

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

endmenu

menu "Video decoders"
	visible if !MEDIA_HIDE_ANCILLARY_SUBDRV

config VIDEO_ADV7180
	tristate "Analog Devices ADV7180 decoder"
	depends on GPIOLIB && VIDEO_DEV && I2C
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select V4L2_ASYNC
	help
	  Support for the Analog Devices ADV7180 video decoder.

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

config VIDEO_ADV7183
	tristate "Analog Devices ADV7183 decoder"
	depends on VIDEO_DEV && I2C
	help
	  V4l2 subdevice driver for the Analog Devices
	  ADV7183 video decoder.

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

config VIDEO_ADV748X
	tristate "Analog Devices ADV748x decoder"
	depends on VIDEO_DEV && I2C
	depends on OF
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select REGMAP_I2C
	select V4L2_FWNODE
	help
	  V4L2 subdevice driver for the Analog Devices
	  ADV7481 and ADV7482 HDMI/Analog video decoders.

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

config VIDEO_ADV7604
	tristate "Analog Devices ADV7604 decoder"
	depends on VIDEO_DEV && I2C
	depends on GPIOLIB || COMPILE_TEST
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select REGMAP_I2C
	select HDMI
	select V4L2_FWNODE
	help
	  Support for the Analog Devices ADV7604 video decoder.

	  This is a Analog Devices Component/Graphics Digitizer
	  with 4:1 Multiplexed HDMI Receiver.

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

config VIDEO_ADV7604_CEC
	bool "Enable Analog Devices ADV7604 CEC support"
	depends on VIDEO_ADV7604
	select CEC_CORE
	help
	  When selected the adv7604 will support the optional
	  HDMI CEC feature.

config VIDEO_ADV7842
	tristate "Analog Devices ADV7842 decoder"
	depends on VIDEO_DEV && I2C
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select HDMI
	help
	  Support for the Analog Devices ADV7842 video decoder.

	  This is a Analog Devices Component/Graphics/SD Digitizer
	  with 2:1 Multiplexed HDMI Receiver.

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

config VIDEO_ADV7842_CEC
	bool "Enable Analog Devices ADV7842 CEC support"
	depends on VIDEO_ADV7842
	select CEC_CORE
	help
	  When selected the adv7842 will support the optional
	  HDMI CEC feature.

config VIDEO_BT819
	tristate "BT819A VideoStream decoder"
	depends on VIDEO_DEV && I2C
	help
	  Support for BT819A video decoder.

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

config VIDEO_BT856
	tristate "BT856 VideoStream decoder"
	depends on VIDEO_DEV && I2C
	help
	  Support for BT856 video decoder.

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

config VIDEO_BT866
	tristate "BT866 VideoStream decoder"
	depends on VIDEO_DEV && I2C
	help
	  Support for BT866 video decoder.

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

config VIDEO_ISL7998X
	tristate "Intersil ISL7998x video decoder"
	depends on VIDEO_DEV && I2C
	depends on OF_GPIO
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select V4L2_FWNODE
	help
	  Support for Intersil ISL7998x analog to MIPI-CSI2 or
	  BT.656 decoder.

config VIDEO_KS0127
	tristate "KS0127 video decoder"
	depends on VIDEO_DEV && I2C
	help
	  Support for KS0127 video decoder.

	  This chip is used on AverMedia AVS6EYES Zoran-based MJPEG
	  cards.

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

config VIDEO_MAX9286
	tristate "Maxim MAX9286 GMSL deserializer support"
	depends on I2C && I2C_MUX
	depends on VIDEO_DEV
	depends on OF_GPIO
	select V4L2_FWNODE
	select VIDEO_V4L2_SUBDEV_API
	select MEDIA_CONTROLLER
	help
	  This driver supports the Maxim MAX9286 GMSL deserializer.

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

config VIDEO_ML86V7667
	tristate "OKI ML86V7667 video decoder"
	depends on VIDEO_DEV && I2C
	help
	  Support for the OKI Semiconductor ML86V7667 video decoder.

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

config VIDEO_SAA7110
	tristate "Philips SAA7110 video decoder"
	depends on VIDEO_DEV && I2C
	help
	  Support for the Philips SAA7110 video decoders.

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

config VIDEO_SAA711X
	tristate "Philips SAA7111/3/4/5 video decoders"
	depends on VIDEO_DEV && I2C
	help
	  Support for the Philips SAA7111/3/4/5 video decoders.

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

config VIDEO_TC358743
	tristate "Toshiba TC358743 decoder"
	depends on VIDEO_DEV && I2C
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select HDMI
	select V4L2_FWNODE
	help
	  Support for the Toshiba TC358743 HDMI to MIPI CSI-2 bridge.

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

config VIDEO_TC358743_CEC
	bool "Enable Toshiba TC358743 CEC support"
	depends on VIDEO_TC358743
	select CEC_CORE
	help
	  When selected the tc358743 will support the optional
	  HDMI CEC feature.

config VIDEO_TC358746
	tristate "Toshiba TC358746 parallel-CSI2 bridge"
	depends on VIDEO_DEV && PM && I2C
	select VIDEO_V4L2_SUBDEV_API
	select MEDIA_CONTROLLER
	select V4L2_FWNODE
	select GENERIC_PHY
	select GENERIC_PHY_MIPI_DPHY
	select REGMAP_I2C
	help
	  Support for the Toshiba TC358746 parallel to MIPI CSI-2 bridge.
	  The bridge can work in both directions but currently only the
	  parallel-in / csi-out path is supported.

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

config VIDEO_TVP514X
	tristate "Texas Instruments TVP514x video decoder"
	depends on VIDEO_DEV && I2C
	select V4L2_FWNODE
	help
	  This is a Video4Linux2 sensor driver for the TI TVP5146/47
	  decoder. It is currently working with the TI OMAP3 camera
	  controller.

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

config VIDEO_TVP5150
	tristate "Texas Instruments TVP5150 video decoder"
	depends on VIDEO_DEV && I2C
	select V4L2_FWNODE
	select REGMAP_I2C
	help
	  Support for the Texas Instruments TVP5150 video decoder.

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

config VIDEO_TVP7002
	tristate "Texas Instruments TVP7002 video decoder"
	depends on VIDEO_DEV && I2C
	select V4L2_FWNODE
	help
	  Support for the Texas Instruments TVP7002 video decoder.

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

config VIDEO_TW2804
	tristate "Techwell TW2804 multiple video decoder"
	depends on VIDEO_DEV && I2C
	help
	  Support for the Techwell tw2804 multiple video decoder.

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

config VIDEO_TW9903
	tristate "Techwell TW9903 video decoder"
	depends on VIDEO_DEV && I2C
	help
	  Support for the Techwell tw9903 multi-standard video decoder
	  with high quality down scaler.

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

config VIDEO_TW9906
	tristate "Techwell TW9906 video decoder"
	depends on VIDEO_DEV && I2C
	help
	  Support for the Techwell tw9906 enhanced multi-standard comb filter
	  video decoder with YCbCr input support.

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

config VIDEO_TW9910
	tristate "Techwell TW9910 video decoder"
	depends on VIDEO_DEV && I2C
	select V4L2_ASYNC
	help
	  Support for Techwell TW9910 NTSC/PAL/SECAM video decoder.

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

config VIDEO_VPX3220
	tristate "vpx3220a, vpx3216b & vpx3214c video decoders"
	depends on VIDEO_DEV && I2C
	help
	  Support for VPX322x video decoders.

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

comment "Video and audio decoders"

config VIDEO_SAA717X
	tristate "Philips SAA7171/3/4 audio/video decoders"
	depends on VIDEO_DEV && I2C
	help
	  Support for the Philips SAA7171/3/4 audio/video decoders.

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

source "drivers/media/i2c/cx25840/Kconfig"

endmenu

menu "Video encoders"
	visible if !MEDIA_HIDE_ANCILLARY_SUBDRV

config VIDEO_ADV7170
	tristate "Analog Devices ADV7170 video encoder"
	depends on VIDEO_DEV && I2C
	help
	  Support for the Analog Devices ADV7170 video encoder driver

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

config VIDEO_ADV7175
	tristate "Analog Devices ADV7175 video encoder"
	depends on VIDEO_DEV && I2C
	help
	  Support for the Analog Devices ADV7175 video encoder driver

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

config VIDEO_ADV7343
	tristate "ADV7343 video encoder"
	depends on I2C
	select V4L2_ASYNC
	help
	  Support for Analog Devices I2C bus based ADV7343 encoder.

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

config VIDEO_ADV7393
	tristate "ADV7393 video encoder"
	depends on I2C
	help
	  Support for Analog Devices I2C bus based ADV7393 encoder.

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

config VIDEO_ADV7511
	tristate "Analog Devices ADV7511 encoder"
	depends on VIDEO_DEV && I2C
	depends on DRM_I2C_ADV7511=n || COMPILE_TEST
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select HDMI
	help
	  Support for the Analog Devices ADV7511 video encoder.

	  This is a Analog Devices HDMI transmitter.

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

config VIDEO_ADV7511_CEC
	bool "Enable Analog Devices ADV7511 CEC support"
	depends on VIDEO_ADV7511
	select CEC_CORE
	help
	  When selected the adv7511 will support the optional
	  HDMI CEC feature.

config VIDEO_AK881X
	tristate "AK8813/AK8814 video encoders"
	depends on I2C
	help
	  Video output driver for AKM AK8813 and AK8814 TV encoders

config VIDEO_SAA7127
	tristate "Philips SAA7127/9 digital video encoders"
	depends on VIDEO_DEV && I2C
	help
	  Support for the Philips SAA7127/9 digital video encoders.

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

config VIDEO_SAA7185
	tristate "Philips SAA7185 video encoder"
	depends on VIDEO_DEV && I2C
	help
	  Support for the Philips SAA7185 video encoder.

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

config VIDEO_THS8200
	tristate "Texas Instruments THS8200 video encoder"
	depends on VIDEO_DEV && I2C
	select V4L2_ASYNC
	help
	  Support for the Texas Instruments THS8200 video encoder.

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

endmenu

menu "Video improvement chips"
	visible if !MEDIA_HIDE_ANCILLARY_SUBDRV

config VIDEO_UPD64031A
	tristate "NEC Electronics uPD64031A Ghost Reduction"
	depends on VIDEO_DEV && I2C
	select V4L2_ASYNC
	help
	  Support for the NEC Electronics uPD64031A Ghost Reduction
	  video chip. It is most often found in NTSC TV cards made for
	  Japan and is used to reduce the 'ghosting' effect that can
	  be present in analog TV broadcasts.

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

config VIDEO_UPD64083
	tristate "NEC Electronics uPD64083 3-Dimensional Y/C separation"
	depends on VIDEO_DEV && I2C
	help
	  Support for the NEC Electronics uPD64083 3-Dimensional Y/C
	  separation video chip. It is used to improve the quality of
	  the colors of a composite signal.

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

endmenu

menu "Audio/Video compression chips"
	visible if !MEDIA_HIDE_ANCILLARY_SUBDRV

config VIDEO_SAA6752HS
	tristate "Philips SAA6752HS MPEG-2 Audio/Video Encoder"
	depends on VIDEO_DEV && I2C
	select CRC32
	help
	  Support for the Philips SAA6752HS MPEG-2 video and MPEG-audio/AC-3
	  audio encoder with multiplexer.

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

endmenu

menu "SDR tuner chips"
	visible if !MEDIA_HIDE_ANCILLARY_SUBDRV

config SDR_MAX2175
	tristate "Maxim 2175 RF to Bits tuner"
	depends on VIDEO_DEV && MEDIA_SDR_SUPPORT && I2C
	select REGMAP_I2C
	select V4L2_ASYNC
	help
	  Support for Maxim 2175 tuner. It is an advanced analog/digital
	  radio receiver with RF-to-Bits front-end designed for SDR solutions.

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

endmenu

menu "Miscellaneous helper chips"
	visible if !MEDIA_HIDE_ANCILLARY_SUBDRV

config VIDEO_I2C
	tristate "I2C transport video support"
	depends on VIDEO_DEV && I2C
	select VIDEOBUF2_VMALLOC
	imply HWMON
	help
	  Enable the I2C transport video support which supports the
	  following:
	   * Panasonic AMG88xx Grid-Eye Sensors
	   * Melexis MLX90640 Thermal Cameras

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

config VIDEO_M52790
	tristate "Mitsubishi M52790 A/V switch"
	depends on VIDEO_DEV && I2C
	help
	 Support for the Mitsubishi M52790 A/V switch.

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

config VIDEO_ST_MIPID02
	tristate "STMicroelectronics MIPID02 CSI-2 to PARALLEL bridge"
	depends on I2C && VIDEO_DEV
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select V4L2_FWNODE
	help
	  Support for STMicroelectronics MIPID02 CSI-2 to PARALLEL bridge.
	  It is used to allow usage of CSI-2 sensor with PARALLEL port
	  controller.

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

config VIDEO_THS7303
	tristate "THS7303/53 Video Amplifier"
	depends on VIDEO_DEV && I2C
	select V4L2_ASYNC
	help
	  Support for TI THS7303/53 video amplifier

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

endmenu

#
# Video serializers and deserializers (e.g. FPD-Link)
#

menu "Video serializers and deserializers"

config VIDEO_DS90UB913
	tristate "TI DS90UB913 FPD-Link III Serializer"
	depends on OF && I2C && VIDEO_DEV && COMMON_CLK
	select I2C_ATR
	select MEDIA_CONTROLLER
	select GPIOLIB
	select REGMAP_I2C
	select V4L2_FWNODE
	select VIDEO_V4L2_SUBDEV_API
	help
	  Device driver for the Texas Instruments DS90UB913
	  FPD-Link III Serializer.

config VIDEO_DS90UB953
	tristate "TI FPD-Link III/IV CSI-2 Serializers"
	depends on OF && I2C && VIDEO_DEV && COMMON_CLK
	select I2C_ATR
	select MEDIA_CONTROLLER
	select GPIOLIB
	select REGMAP_I2C
	select V4L2_FWNODE
	select VIDEO_V4L2_SUBDEV_API
	help
	  Device driver for the Texas Instruments DS90UB953
	  FPD-Link III Serializer and DS90UB971 FPD-Link IV Serializer.

config VIDEO_DS90UB960
	tristate "TI FPD-Link III/IV Deserializers"
	depends on OF && I2C && VIDEO_DEV && COMMON_CLK
	select I2C_ATR
	select MEDIA_CONTROLLER
	select GPIOLIB
	select REGMAP_I2C
	select V4L2_FWNODE
	select VIDEO_V4L2_SUBDEV_API
	help
	  Device driver for the Texas Instruments DS90UB960
	  FPD-Link III Deserializer and DS90UB9702 FPD-Link IV Deserializer.

endmenu

endif # VIDEO_DEV