config VIDEO_MTK_ISP_COMMON
	bool "Mediatek camera subsystem driver"
	select DMA_SHARED_BUFFER
	select VIDEO_V4L2_SUBDEV_API
	select VIDEOBUF2_DMA_CONTIG
	select VIDEOBUF2_CORE
	select VIDEOBUF2_V4L2
	select VIDEOBUF2_MEMOPS
	select MEDIA_CONTROLLER
	select MEDIA_CONTROLLER_REQUEST_API

	help
	    Generic helpers for Mediatek SoCs ISP drivers. Mediatek
	    SoCs ISP drivers have similar image handling flow. For
	    example, Mediatek's ISP IPs may accept multiple input
	    buffers of a frame and generate multiple output buffers
	    of different format, size and effect. The helpers
	    provide the functions to create the common flow.

	    This feature will be removed in the upstream version
	    of Mediatek SoCs ISP drivers. It added some
	    abstraction implementing V4L2 and VB2 ops using
	    MTK-specific ops, which is not a discouraged pattern
	    of V4L2 drivers.

	    Choose y if you have drivers using the common utilities.

config VIDEO_MTK_ISP_CAMSYS
	tristate "Mediatek camsys processing function"
	select V4L2_FWNODE

	help
	    Camsys driver controls 3A (autofocus, exposure,
	    and white balance) with tuning feature and output
	    the first capture image buffer in Mediatek's camera system.

	    This driver also provides a mipi-csi2 host driver used as a
	    interface to connect camera with Mediatek's SOCs. It is able
	    to handle multiple cameras
	    simultaneously.

	    Choose y if you want to use Mediatek SoCs to create image
	    capture application such as video recording and still image
	    capture.

config VIDEO_MTK_ISP_CAMSYS_DUBUG
	tristate "Mediatek camsys debug function"
	help
	    Camsys driver controls 3A (autofocus, exposure,
	    and white balance) with tuning feature and output
	    the first capture image buffer in Mediatek's camera system.
	    This configuration provides more debug information.

config VIDEO_MTK_ISP_HCP
	tristate "Mediatek hcp processing function"
	help
	    HCP driver acts a message protocol between imgsys driver and
	    userspace daemon. messages can include enqueue event, dequeue
	    events, and other notification events that are needed for a
	    working camera session.

config VIDEO_MTK_ISP_AOV
	tristate "Mediatek aov processing function"
	help
	    AOV driver acts a message protocol between aov scp driver and
	    userspace process. messages can include init, deint and aov
	    notification events. The operation modes include normal detect,
	    debug and bit-true dump mode.

config VIDEO_MTK_ISP_IMGSYS
	tristate "Mediatek imgsys processing function"
	help
	    imgsys driver controls post-processing on the streaming images
	    and/or statistics for better image qualities
	    such as noise reduction, edge enhencement,
	    and motion estimation, etc.

config VIDEO_MTK_ISP_IPESYS
	tristate "Mediatek ipesys processing function"
	help
	    ipesys driver is a varaint of imgsys driver
	    which process the images to generate useful statistics
	    for isp pipeline image computation such
	    as motion estimation.

config VIDEO_MTK_ISP_IMGSYS_7S
	tristate "Mediatek imgsys processing function"
	help
	    imgsys driver controls post-processing on the streaming images
	    and/or statistics for better image qualities
	    such as noise reduction, edge enhencement,
	    and motion estimation, etc.

config VIDEO_MTK_ISP_IMGSYS_CMDQ
	tristate "Mediatek imgsys cmdq processing function"
	help
	    imgsys cmdq driver acts a message protocol between imgsys
	    driver and gce driver. messages can include R/W registers,
	    wait gce events, and notification that are needed for a
	    working camera session.

config VIDEO_MTK_ISP_IMGSYS_7SP
	tristate "Mediatek imgsys processing function"
	help
	    imgsys driver controls post-processing on the streaming images
	    and/or statistics for better image qualities
	    such as noise reduction, edge enhencement,
	    and motion estimation, etc.
