# SPDX-License-Identifier: GPL-2.0-only
#
# Platform drivers
#	Most drivers here are currently for webcam support

menuconfig MEDIA_PLATFORM_DRIVERS
	bool "Media platform devices"
	default "y"
	help
	  Say Y here to enable support for platform-specific media drivers.

if MEDIA_PLATFORM_DRIVERS

config V4L_PLATFORM_DRIVERS
	bool "V4L platform devices"
	help
	  Say Y here to enable support for platform-specific V4L drivers.

config SDR_PLATFORM_DRIVERS
	bool "SDR platform devices"
	depends on MEDIA_SDR_SUPPORT
	help
	  Say Y here to enable support for platform-specific SDR Drivers.

config DVB_PLATFORM_DRIVERS
	bool "DVB platform devices"
	depends on MEDIA_DIGITAL_TV_SUPPORT
	help
	  Say Y here to enable support for platform-specific Digital TV drivers.

config V4L_MEM2MEM_DRIVERS
	bool "Memory-to-memory multimedia devices"
	depends on VIDEO_DEV
	help
	  Say Y here to enable selecting drivers for V4L devices that
	  use system memory for both source and destination buffers, as opposed
	  to capture and output drivers, which use memory buffers for just
	  one of those.

# Ancillary drivers

config VIDEO_MEM2MEM_DEINTERLACE
	tristate "Deinterlace support"
	depends on V4L_MEM2MEM_DRIVERS
	depends on VIDEO_DEV
	depends on HAS_DMA
	select VIDEOBUF2_DMA_CONTIG
	select V4L2_MEM2MEM_DEV
	help
	    Generic deinterlacing V4L2 driver.

config VIDEO_MUX
	tristate "Video Multiplexer"
	depends on V4L_PLATFORM_DRIVERS
	select MULTIPLEXER
	depends on VIDEO_DEV && OF
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select REGMAP
	select V4L2_FWNODE
	help
	  This driver provides support for N:1 video bus multiplexers.

config VIDEO_MX8_CAPTURE
	tristate "MX8 Video For Linux Video Capture"
	depends on VIDEO_DEV
	help
	  This is the video4linux2 capture driver based on i.MX8 module.

source "drivers/media/platform/imx8/Kconfig"

config VIDEO_MXC_CAPTURE
	tristate "MXC Video For Linux Video Capture"
	depends on VIDEO_DEV
	help
	  This is the video4linux2 capture driver based on i.MX video-in module.

source "drivers/media/platform/mxc/capture/Kconfig"

config VIDEO_MXC_OUTPUT
	tristate "MXC Video For Linux Video Output"
	depends on VIDEO_DEV && ARCH_MXC && FB_MXC
	select VIDEOBUF_DMA_CONTIG
	help
	This is the video4linux2 output driver based on MXC module.

source "drivers/media/platform/mxc/output/Kconfig"

# Platform drivers - Please keep it alphabetically sorted
source "drivers/media/platform/allegro-dvt/Kconfig"
source "drivers/media/platform/amlogic/Kconfig"
source "drivers/media/platform/amphion/Kconfig"
source "drivers/media/platform/aspeed/Kconfig"
source "drivers/media/platform/atmel/Kconfig"
source "drivers/media/platform/cadence/Kconfig"
source "drivers/media/platform/chips-media/Kconfig"
source "drivers/media/platform/intel/Kconfig"
source "drivers/media/platform/marvell/Kconfig"
source "drivers/media/platform/mediatek/Kconfig"
source "drivers/media/platform/microchip/Kconfig"
source "drivers/media/platform/nvidia/Kconfig"
source "drivers/media/platform/nxp/Kconfig"
source "drivers/media/platform/qcom/Kconfig"
source "drivers/media/platform/renesas/Kconfig"
source "drivers/media/platform/rockchip/Kconfig"
source "drivers/media/platform/samsung/Kconfig"
source "drivers/media/platform/st/Kconfig"
source "drivers/media/platform/sunxi/Kconfig"
source "drivers/media/platform/ti/Kconfig"
source "drivers/media/platform/verisilicon/Kconfig"
source "drivers/media/platform/via/Kconfig"
source "drivers/media/platform/xilinx/Kconfig"

endif # MEDIA_PLATFORM_DRIVERS
