
config VIDEO_SAMSUNG_EXYNOS4_IS
	tristate "Samsung S5P/EXYNOS4 SoC series Camera Subsystem driver"
	depends on VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API
	depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
	depends on OF && COMMON_CLK
	select V4L2_FWNODE
	help
	  Say Y here to enable camera host interface devices for
	  Samsung S5P and EXYNOS SoC series.

if VIDEO_SAMSUNG_EXYNOS4_IS

config VIDEO_EXYNOS4_IS_COMMON
       tristate

config VIDEO_S5P_FIMC
	tristate "S5P/EXYNOS4 FIMC/CAMIF camera interface driver"
	depends on I2C
	depends on HAS_DMA
	select VIDEOBUF2_DMA_CONTIG
	select V4L2_MEM2MEM_DEV
	select MFD_SYSCON
	select VIDEO_EXYNOS4_IS_COMMON
	help
	  This is a V4L2 driver for Samsung S5P and EXYNOS4 SoC camera host
	  interface and video postprocessor (FIMC) devices.

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

config VIDEO_S5P_MIPI_CSIS
	tristate "S5P/EXYNOS MIPI-CSI2 receiver (MIPI-CSIS) driver"
	depends on REGULATOR
	select GENERIC_PHY
	select V4L2_FWNODE
	help
	  This is a V4L2 driver for Samsung S5P and EXYNOS4 SoC MIPI-CSI2
	  receiver (MIPI-CSIS) devices.

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

config VIDEO_EXYNOS_FIMC_LITE
	tristate "EXYNOS FIMC-LITE camera interface driver"
	depends on I2C
	depends on SOC_EXYNOS4412 || SOC_EXYNOS5250 || COMPILE_TEST
	depends on HAS_DMA
	select VIDEOBUF2_DMA_CONTIG
	select VIDEO_EXYNOS4_IS_COMMON
	help
	  This is a V4L2 driver for Samsung EXYNOS4/5 SoC FIMC-LITE camera
	  host interface.

	  To compile this driver as a module, choose M here: the
	  module will be called exynos-fimc-lite.

config VIDEO_EXYNOS4_FIMC_IS
	tristate "EXYNOS4x12 FIMC-IS (Imaging Subsystem) driver"
	depends on I2C
	depends on HAS_DMA
	select VIDEOBUF2_DMA_CONTIG
	depends on OF
	select FW_LOADER
	help
	  This is a V4L2 driver for Samsung EXYNOS4x12 SoC series
	  FIMC-IS (Imaging Subsystem).

	  To compile this driver as a module, choose M here: the
	  module will be called exynos4-fimc-is.

config VIDEO_EXYNOS4_ISP_DMA_CAPTURE
	bool "EXYNOS4x12 FIMC-IS ISP Direct DMA capture support"
	depends on VIDEO_EXYNOS4_FIMC_IS
	select VIDEO_EXYNOS4_IS_COMMON
	default y
	help
	  This option enables an additional video device node exposing a V4L2
	  video capture interface for the FIMC-IS ISP raw (Bayer) capture DMA.

endif # VIDEO_SAMSUNG_EXYNOS4_IS
