config VIDEO_DAVINCI_VPIF_DISPLAY
	tristate "DM646x/DA850/OMAPL138 EVM Video Display"
	depends on VIDEO_DEV && (MACH_DAVINCI_DM6467_EVM || MACH_DAVINCI_DA850_EVM)
	select VIDEOBUF2_DMA_CONTIG
	select VIDEO_DAVINCI_VPIF
	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 common for following DM6467/DA850/OMAPL138
	  based display devices.

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

config VIDEO_DAVINCI_VPIF_CAPTURE
	tristate "DM646x/DA850/OMAPL138 EVM Video Capture"
	depends on VIDEO_DEV && (MACH_DAVINCI_DM6467_EVM || MACH_DAVINCI_DA850_EVM)
	select VIDEOBUF2_DMA_CONTIG
	select VIDEO_DAVINCI_VPIF
	help
	  Enables Davinci VPIF module used for captur devices.
	  This module is common for following DM6467/DA850/OMAPL138
	  based capture devices.

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

config VIDEO_DAVINCI_VPIF
	tristate "DaVinci VPIF Driver"
	depends on VIDEO_DAVINCI_VPIF_DISPLAY || VIDEO_DAVINCI_VPIF_CAPTURE
	help
	  Support for DaVinci VPIF Driver.

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

config VIDEO_VPSS_SYSTEM
	tristate "VPSS System module driver"
	depends on ARCH_DAVINCI
	help
	  Support for vpss system module for video driver

config VIDEO_VPFE_CAPTURE
	tristate "VPFE Video Capture Driver"
	depends on VIDEO_V4L2 && (ARCH_DAVINCI || ARCH_OMAP3)
	depends on I2C
	select VIDEOBUF_DMA_CONTIG
	help
	  Support for DMx/AMx VPFE based frame grabber. This is the
	  common V4L2 module for following DMx/AMx SoCs from Texas
	  Instruments:- DM6446, DM365, DM355 & AM3517/05.

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

config VIDEO_DM6446_CCDC
	tristate "DM6446 CCDC HW module"
	depends on VIDEO_VPFE_CAPTURE
	select VIDEO_VPSS_SYSTEM
	default y
	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: the
	   module will be called vpfe.

config VIDEO_DM355_CCDC
	tristate "DM355 CCDC HW module"
	depends on ARCH_DAVINCI_DM355 && VIDEO_VPFE_CAPTURE
	select VIDEO_VPSS_SYSTEM
	default y
	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: the
	   module will be called vpfe.

config VIDEO_ISIF
	tristate "ISIF HW module"
	depends on ARCH_DAVINCI_DM365 && VIDEO_VPFE_CAPTURE
	select VIDEO_VPSS_SYSTEM
	default y
	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: the
	   module will be called vpfe.

config VIDEO_DAVINCI_VPBE_DISPLAY
	tristate "DM644X/DM365/DM355 VPBE HW module"
	depends on ARCH_DAVINCI_DM644x || ARCH_DAVINCI_DM355 || ARCH_DAVINCI_DM365
	select VIDEO_VPSS_SYSTEM
	select VIDEOBUF2_DMA_CONTIG
	help
	    Enables Davinci VPBE module used for display devices.
	    This module is common for following DM644x/DM365/DM355
	    based display devices.

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