config VIDEO_DAVINCI_VPIF_DISPLAY
	tristate "TI DaVinci VPIF V4L2-Display driver"
	depends on VIDEO_V4L2
	depends on ARCH_DAVINCI || COMPILE_TEST
	depends on HAS_DMA
	depends on I2C
	select VIDEOBUF2_DMA_CONTIG
	select VIDEO_ADV7343 if MEDIA_SUBDRV_AUTOSELECT
	select VIDEO_THS7303 if MEDIA_SUBDRV_AUTOSELECT
	help
	  Enables Davinci VPIF module used for display devices.
	  This module is used for display on TI DM6467/DA850/OMAPL138
	  SoCs.

	  To compile this driver as a module, choose M here. There will
	  be two modules called vpif.ko and vpif_display.ko

config VIDEO_DAVINCI_VPIF_CAPTURE
	tristate "TI DaVinci VPIF video capture driver"
	depends on VIDEO_V4L2
	depends on ARCH_DAVINCI || COMPILE_TEST
	depends on HAS_DMA
	depends on I2C
	select VIDEOBUF2_DMA_CONTIG
	select V4L2_FWNODE
	help
	  Enables Davinci VPIF module used for capture devices.
	  This module is used for capture on TI DM6467/DA850/OMAPL138
	  SoCs.

	  To compile this driver as a module, choose M here. There will
	  be two modules called vpif.ko and vpif_capture.ko

config VIDEO_DM6446_CCDC
	tristate "TI DM6446 CCDC video capture driver"
	depends on VIDEO_V4L2
	depends on ARCH_DAVINCI || COMPILE_TEST
	depends on HAS_DMA
	depends on I2C
	select VIDEOBUF_DMA_CONTIG
	help
	   Enables DaVinci CCD hw module. DaVinci CCDC hw interfaces
	   with decoder modules such as TVP5146 over BT656 or
	   sensor module such as MT9T001 over a raw interface. This
	   module configures the interface and CCDC/ISIF to do
	   video frame capture from slave decoders.

	   To compile this driver as a module, choose M here. There will
	   be three modules called vpfe_capture.ko, vpss.ko and dm644x_ccdc.ko

config VIDEO_DM355_CCDC
	tristate "TI DM355 CCDC video capture driver"
	depends on VIDEO_V4L2
	depends on ARCH_DAVINCI || COMPILE_TEST
	depends on HAS_DMA
	depends on I2C
	select VIDEOBUF_DMA_CONTIG
	help
	   Enables DM355 CCD hw module. DM355 CCDC hw interfaces
	   with decoder modules such as TVP5146 over BT656 or
	   sensor module such as MT9T001 over a raw interface. This
	   module configures the interface and CCDC/ISIF to do
	   video frame capture from a slave decoders

	   To compile this driver as a module, choose M here. There will
	   be three modules called vpfe_capture.ko, vpss.ko and dm355_ccdc.ko

config VIDEO_DM365_ISIF
	tristate "TI DM365 ISIF video capture driver"
	depends on VIDEO_V4L2 && ARCH_DAVINCI
	depends on HAS_DMA
	depends on I2C
	select VIDEOBUF_DMA_CONTIG
	help
	   Enables ISIF hw module. This is the hardware module for
	   configuring ISIF in VPFE to capture Raw Bayer RGB data from
	   a image sensor or YUV data from a YUV source.

	   To compile this driver as a module, choose M here. There will
	   be three modules called vpfe_capture.ko, vpss.ko and isif.ko

config VIDEO_DAVINCI_VPBE_DISPLAY
	tristate "TI DaVinci VPBE V4L2-Display driver"
	depends on VIDEO_V4L2 && ARCH_DAVINCI
	depends on HAS_DMA
	depends on I2C
	select VIDEOBUF2_DMA_CONTIG
	help
	    Enables Davinci VPBE module used for display devices.
	    This module is used for display on TI DM644x/DM365/DM355
	    based display devices.

	    To compile this driver as a module, choose M here. There will
	    be five modules created called vpss.ko, vpbe.ko, vpbe_osd.ko,
	    vpbe_venc.ko and vpbe_display.ko
