2019-05-19 19:07:45 +07:00
|
|
|
# SPDX-License-Identifier: GPL-2.0-only
|
2012-05-28 18:17:49 +07:00
|
|
|
#
|
|
|
|
# Platform drivers
|
2015-07-31 00:09:00 +07:00
|
|
|
# Most drivers here are currently for webcam support
|
2012-05-28 18:17:49 +07:00
|
|
|
|
2011-11-08 21:02:34 +07:00
|
|
|
menuconfig V4L_PLATFORM_DRIVERS
|
|
|
|
bool "V4L platform devices"
|
2012-05-28 18:17:49 +07:00
|
|
|
depends on MEDIA_CAMERA_SUPPORT
|
2019-03-20 17:39:44 +07:00
|
|
|
help
|
2011-11-08 21:02:34 +07:00
|
|
|
Say Y here to enable support for platform-specific V4L drivers.
|
|
|
|
|
|
|
|
if V4L_PLATFORM_DRIVERS
|
|
|
|
|
2012-08-15 03:31:16 +07:00
|
|
|
source "drivers/media/platform/marvell-ccic/Kconfig"
|
2011-06-12 00:46:42 +07:00
|
|
|
|
2011-09-30 19:06:11 +07:00
|
|
|
config VIDEO_VIA_CAMERA
|
|
|
|
tristate "VIAFB camera controller support"
|
|
|
|
depends on FB_VIA
|
2019-07-28 21:43:41 +07:00
|
|
|
select VIDEOBUF2_DMA_SG
|
2011-09-30 19:06:11 +07:00
|
|
|
select VIDEO_OV7670
|
|
|
|
help
|
|
|
|
Driver support for the integrated camera controller in VIA
|
|
|
|
Chrome9 chipsets. Currently only tested on OLPC xo-1.5 systems
|
|
|
|
with ov7670 sensors.
|
|
|
|
|
|
|
|
#
|
|
|
|
# Platform multimedia device configuration
|
|
|
|
#
|
2018-05-04 21:08:08 +07:00
|
|
|
source "drivers/media/platform/cadence/Kconfig"
|
2011-09-30 19:06:11 +07:00
|
|
|
|
2012-08-15 03:31:16 +07:00
|
|
|
source "drivers/media/platform/davinci/Kconfig"
|
2011-09-30 19:06:11 +07:00
|
|
|
|
2012-08-15 03:31:16 +07:00
|
|
|
source "drivers/media/platform/omap/Kconfig"
|
2011-09-30 19:06:11 +07:00
|
|
|
|
2018-12-11 23:57:01 +07:00
|
|
|
config VIDEO_ASPEED
|
|
|
|
tristate "Aspeed AST2400 and AST2500 Video Engine driver"
|
|
|
|
depends on VIDEO_V4L2
|
|
|
|
select VIDEOBUF2_DMA_CONTIG
|
|
|
|
help
|
|
|
|
Support for the Aspeed Video Engine (VE) embedded in the Aspeed
|
|
|
|
AST2400 and AST2500 SOCs. The VE can capture and compress video data
|
|
|
|
from digital or analog sources.
|
|
|
|
|
2011-09-30 19:06:11 +07:00
|
|
|
config VIDEO_SH_VOU
|
|
|
|
tristate "SuperH VOU video output driver"
|
2012-08-20 20:32:19 +07:00
|
|
|
depends on MEDIA_CAMERA_SUPPORT
|
2018-05-18 00:18:12 +07:00
|
|
|
depends on VIDEO_DEV && I2C
|
2013-11-27 08:18:28 +07:00
|
|
|
depends on ARCH_SHMOBILE || COMPILE_TEST
|
2015-10-16 07:35:40 +07:00
|
|
|
select VIDEOBUF2_DMA_CONTIG
|
2011-09-30 19:06:11 +07:00
|
|
|
help
|
|
|
|
Support for the Video Output Unit (VOU) on SuperH SoCs.
|
|
|
|
|
|
|
|
config VIDEO_VIU
|
|
|
|
tristate "Freescale VIU Video Driver"
|
2018-04-24 02:31:39 +07:00
|
|
|
depends on VIDEO_V4L2 && (PPC_MPC512x || COMPILE_TEST) && I2C
|
2011-09-30 19:06:11 +07:00
|
|
|
select VIDEOBUF_DMA_CONTIG
|
|
|
|
default y
|
2019-03-20 17:39:44 +07:00
|
|
|
help
|
2011-09-30 19:06:11 +07:00
|
|
|
Support for Freescale VIU video driver. This device captures
|
|
|
|
video data, or overlays video on DIU frame buffer.
|
|
|
|
|
|
|
|
Say Y here if you want to enable VIU device on MPC5121e Rev2+.
|
|
|
|
In doubt, say N.
|
|
|
|
|
2017-06-08 01:33:55 +07:00
|
|
|
config VIDEO_MUX
|
|
|
|
tristate "Video Multiplexer"
|
2017-07-18 20:26:00 +07:00
|
|
|
select MULTIPLEXER
|
2017-07-10 15:48:43 +07:00
|
|
|
depends on VIDEO_V4L2 && OF && VIDEO_V4L2_SUBDEV_API && MEDIA_CONTROLLER
|
2017-06-08 01:33:55 +07:00
|
|
|
select REGMAP
|
2018-09-30 02:54:10 +07:00
|
|
|
select V4L2_FWNODE
|
2017-06-08 01:33:55 +07:00
|
|
|
help
|
|
|
|
This driver provides support for N:1 video bus multiplexers.
|
|
|
|
|
2011-02-13 04:05:06 +07:00
|
|
|
config VIDEO_OMAP3
|
2013-01-17 09:53:43 +07:00
|
|
|
tristate "OMAP 3 Camera support"
|
2018-04-07 18:40:08 +07:00
|
|
|
depends on VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API
|
2018-04-09 16:48:01 +07:00
|
|
|
depends on (ARCH_OMAP3 && OMAP_IOMMU) || COMPILE_TEST
|
2018-05-18 00:18:12 +07:00
|
|
|
depends on COMMON_CLK && OF
|
2018-04-09 16:48:01 +07:00
|
|
|
select ARM_DMA_USE_IOMMU if OMAP_IOMMU
|
2014-07-04 14:51:47 +07:00
|
|
|
select VIDEOBUF2_DMA_CONTIG
|
2015-03-26 05:57:34 +07:00
|
|
|
select MFD_SYSCON
|
2016-08-27 06:17:25 +07:00
|
|
|
select V4L2_FWNODE
|
2019-03-20 17:39:44 +07:00
|
|
|
help
|
2011-02-13 04:05:06 +07:00
|
|
|
Driver for an OMAP 3 camera controller.
|
|
|
|
|
|
|
|
config VIDEO_OMAP3_DEBUG
|
|
|
|
bool "OMAP 3 Camera debug messages"
|
|
|
|
depends on VIDEO_OMAP3
|
2019-03-20 17:39:44 +07:00
|
|
|
help
|
2011-02-13 04:05:06 +07:00
|
|
|
Enable debug messages on OMAP 3 camera controller driver.
|
|
|
|
|
2016-09-06 16:04:23 +07:00
|
|
|
config VIDEO_PXA27x
|
|
|
|
tristate "PXA27x Quick Capture Interface driver"
|
2018-05-18 00:18:12 +07:00
|
|
|
depends on VIDEO_DEV && VIDEO_V4L2
|
2016-09-06 17:37:45 +07:00
|
|
|
depends on PXA27x || COMPILE_TEST
|
2016-09-06 16:04:23 +07:00
|
|
|
select VIDEOBUF2_DMA_SG
|
|
|
|
select SG_SPLIT
|
2016-08-27 06:17:25 +07:00
|
|
|
select V4L2_FWNODE
|
2019-03-20 17:39:44 +07:00
|
|
|
help
|
2016-09-06 16:04:23 +07:00
|
|
|
This is a v4l2 driver for the PXA27x Quick Capture Interface
|
|
|
|
|
2017-08-08 20:30:08 +07:00
|
|
|
config VIDEO_QCOM_CAMSS
|
2018-07-25 23:38:13 +07:00
|
|
|
tristate "Qualcomm V4L2 Camera Subsystem driver"
|
2018-05-18 00:18:12 +07:00
|
|
|
depends on VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API
|
2017-08-08 20:30:08 +07:00
|
|
|
depends on (ARCH_QCOM && IOMMU_DMA) || COMPILE_TEST
|
|
|
|
select VIDEOBUF2_DMA_SG
|
|
|
|
select V4L2_FWNODE
|
|
|
|
|
2012-08-23 06:09:18 +07:00
|
|
|
config VIDEO_S3C_CAMIF
|
|
|
|
tristate "Samsung S3C24XX/S3C64XX SoC Camera Interface driver"
|
|
|
|
depends on VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API
|
2014-12-13 06:44:04 +07:00
|
|
|
depends on PM
|
2014-08-21 02:21:35 +07:00
|
|
|
depends on ARCH_S3C64XX || PLAT_S3C24XX || COMPILE_TEST
|
2012-08-23 06:09:18 +07:00
|
|
|
select VIDEOBUF2_DMA_CONTIG
|
2019-03-20 17:39:44 +07:00
|
|
|
help
|
2012-08-23 06:09:18 +07:00
|
|
|
This is a v4l2 driver for s3c24xx and s3c64xx SoC series camera
|
|
|
|
host interface (CAMIF).
|
|
|
|
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
|
|
will be called s3c-camif.
|
|
|
|
|
2017-05-05 22:31:21 +07:00
|
|
|
config VIDEO_STM32_DCMI
|
|
|
|
tristate "STM32 Digital Camera Memory Interface (DCMI) support"
|
2019-08-14 20:48:52 +07:00
|
|
|
depends on VIDEO_V4L2 && OF && MEDIA_CONTROLLER
|
2017-05-05 22:31:21 +07:00
|
|
|
depends on ARCH_STM32 || COMPILE_TEST
|
|
|
|
select VIDEOBUF2_DMA_CONTIG
|
2016-08-27 06:17:25 +07:00
|
|
|
select V4L2_FWNODE
|
2019-03-20 17:39:44 +07:00
|
|
|
help
|
2017-05-05 22:31:21 +07:00
|
|
|
This module makes the STM32 Digital Camera Memory Interface (DCMI)
|
|
|
|
available as a v4l2 device.
|
|
|
|
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
|
|
will be called stm32-dcmi.
|
|
|
|
|
2018-02-22 17:37:19 +07:00
|
|
|
config VIDEO_RENESAS_CEU
|
|
|
|
tristate "Renesas Capture Engine Unit (CEU) driver"
|
2018-05-18 00:18:12 +07:00
|
|
|
depends on VIDEO_DEV && VIDEO_V4L2
|
2018-02-22 17:37:19 +07:00
|
|
|
depends on ARCH_SHMOBILE || ARCH_R7S72100 || COMPILE_TEST
|
|
|
|
select VIDEOBUF2_DMA_CONTIG
|
|
|
|
select V4L2_FWNODE
|
2019-03-20 17:39:44 +07:00
|
|
|
help
|
2018-02-22 17:37:19 +07:00
|
|
|
This is a v4l2 driver for the Renesas CEU Interface
|
|
|
|
|
2013-03-24 22:54:25 +07:00
|
|
|
source "drivers/media/platform/exynos4-is/Kconfig"
|
2014-12-10 02:43:44 +07:00
|
|
|
source "drivers/media/platform/am437x/Kconfig"
|
2013-05-15 21:36:19 +07:00
|
|
|
source "drivers/media/platform/xilinx/Kconfig"
|
2016-04-26 20:22:19 +07:00
|
|
|
source "drivers/media/platform/rcar-vin/Kconfig"
|
2016-08-17 13:05:27 +07:00
|
|
|
source "drivers/media/platform/atmel/Kconfig"
|
2019-08-22 15:21:13 +07:00
|
|
|
source "drivers/media/platform/sunxi/Kconfig"
|
2011-03-02 23:16:37 +07:00
|
|
|
|
2016-01-07 06:37:26 +07:00
|
|
|
config VIDEO_TI_CAL
|
|
|
|
tristate "TI CAL (Camera Adaptation Layer) driver"
|
|
|
|
depends on VIDEO_DEV && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API
|
|
|
|
depends on SOC_DRA7XX || COMPILE_TEST
|
|
|
|
select VIDEOBUF2_DMA_CONTIG
|
2016-08-27 06:17:25 +07:00
|
|
|
select V4L2_FWNODE
|
2019-03-20 17:39:44 +07:00
|
|
|
help
|
2016-01-07 06:37:26 +07:00
|
|
|
Support for the TI CAL (Camera Adaptation Layer) block
|
|
|
|
found on DRA72X SoC.
|
|
|
|
In TI Technical Reference Manual this module is referred as
|
|
|
|
Camera Interface Subsystem (CAMSS).
|
|
|
|
|
2011-11-08 21:02:34 +07:00
|
|
|
endif # V4L_PLATFORM_DRIVERS
|
2010-04-23 15:38:37 +07:00
|
|
|
|
|
|
|
menuconfig V4L_MEM2MEM_DRIVERS
|
|
|
|
bool "Memory-to-memory multimedia devices"
|
|
|
|
depends on VIDEO_V4L2
|
2012-08-20 20:32:19 +07:00
|
|
|
depends on MEDIA_CAMERA_SUPPORT
|
2019-03-20 17:39:44 +07:00
|
|
|
help
|
2010-04-23 15:38:37 +07:00
|
|
|
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.
|
2010-04-23 15:38:38 +07:00
|
|
|
|
|
|
|
if V4L_MEM2MEM_DRIVERS
|
|
|
|
|
2012-07-26 15:53:35 +07:00
|
|
|
config VIDEO_CODA
|
|
|
|
tristate "Chips&Media Coda multi-standard codec IP"
|
2017-03-10 02:55:48 +07:00
|
|
|
depends on VIDEO_DEV && VIDEO_V4L2 && (ARCH_MXC || COMPILE_TEST)
|
2013-09-30 21:12:22 +07:00
|
|
|
select SRAM
|
2012-07-26 15:53:35 +07:00
|
|
|
select VIDEOBUF2_DMA_CONTIG
|
2015-01-23 23:51:30 +07:00
|
|
|
select VIDEOBUF2_VMALLOC
|
2012-07-26 15:53:35 +07:00
|
|
|
select V4L2_MEM2MEM_DEV
|
2014-07-11 16:36:25 +07:00
|
|
|
select GENERIC_ALLOCATOR
|
2019-03-20 17:39:44 +07:00
|
|
|
help
|
2012-07-26 15:53:35 +07:00
|
|
|
Coda is a range of video codec IPs that supports
|
|
|
|
H.264, MPEG-4, and other video formats.
|
|
|
|
|
2017-01-20 21:00:20 +07:00
|
|
|
config VIDEO_IMX_VDOA
|
|
|
|
def_tristate VIDEO_CODA if SOC_IMX6Q || COMPILE_TEST
|
|
|
|
|
2018-09-06 16:02:14 +07:00
|
|
|
config VIDEO_IMX_PXP
|
|
|
|
tristate "i.MX Pixel Pipeline (PXP)"
|
|
|
|
depends on VIDEO_DEV && VIDEO_V4L2 && (ARCH_MXC || COMPILE_TEST)
|
|
|
|
select VIDEOBUF2_DMA_CONTIG
|
|
|
|
select V4L2_MEM2MEM_DEV
|
|
|
|
help
|
|
|
|
The i.MX Pixel Pipeline is a memory-to-memory engine for scaling,
|
|
|
|
color space conversion, and rotation.
|
|
|
|
|
2016-12-14 15:04:48 +07:00
|
|
|
config VIDEO_MEDIATEK_JPEG
|
|
|
|
tristate "Mediatek JPEG Codec driver"
|
|
|
|
depends on MTK_IOMMU_V1 || COMPILE_TEST
|
|
|
|
depends on VIDEO_DEV && VIDEO_V4L2
|
|
|
|
depends on ARCH_MEDIATEK || COMPILE_TEST
|
|
|
|
select VIDEOBUF2_DMA_CONTIG
|
|
|
|
select V4L2_MEM2MEM_DEV
|
2019-03-20 17:39:44 +07:00
|
|
|
help
|
2016-12-14 15:04:48 +07:00
|
|
|
Mediatek jpeg codec driver provides HW capability to decode
|
|
|
|
JPEG format
|
|
|
|
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
|
|
module will be called mtk-jpeg
|
|
|
|
|
2016-05-03 17:11:21 +07:00
|
|
|
config VIDEO_MEDIATEK_VPU
|
|
|
|
tristate "Mediatek Video Processor Unit"
|
2018-05-18 00:18:12 +07:00
|
|
|
depends on VIDEO_DEV && VIDEO_V4L2
|
2016-05-03 17:11:21 +07:00
|
|
|
depends on ARCH_MEDIATEK || COMPILE_TEST
|
2019-03-20 17:39:44 +07:00
|
|
|
help
|
2016-05-03 17:11:21 +07:00
|
|
|
This driver provides downloading VPU firmware and
|
|
|
|
communicating with VPU. This driver for hw video
|
|
|
|
codec embedded in Mediatek's MT8173 SOCs. It is able
|
|
|
|
to handle video decoding/encoding in a range of formats.
|
|
|
|
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
|
|
module will be called mtk-vpu.
|
|
|
|
|
2016-09-08 20:09:03 +07:00
|
|
|
config VIDEO_MEDIATEK_MDP
|
|
|
|
tristate "Mediatek MDP driver"
|
|
|
|
depends on MTK_IOMMU || COMPILE_TEST
|
|
|
|
depends on VIDEO_DEV && VIDEO_V4L2
|
|
|
|
depends on ARCH_MEDIATEK || COMPILE_TEST
|
|
|
|
select VIDEOBUF2_DMA_CONTIG
|
|
|
|
select V4L2_MEM2MEM_DEV
|
|
|
|
select VIDEO_MEDIATEK_VPU
|
2019-03-20 17:39:44 +07:00
|
|
|
help
|
2016-09-08 20:09:03 +07:00
|
|
|
It is a v4l2 driver and present in Mediatek MT8173 SoCs.
|
|
|
|
The driver supports for scaling and color space conversion.
|
|
|
|
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
|
|
module will be called mtk-mdp.
|
|
|
|
|
2016-05-03 17:11:24 +07:00
|
|
|
config VIDEO_MEDIATEK_VCODEC
|
|
|
|
tristate "Mediatek Video Codec driver"
|
2016-07-09 02:11:19 +07:00
|
|
|
depends on MTK_IOMMU || COMPILE_TEST
|
2018-05-18 00:18:12 +07:00
|
|
|
depends on VIDEO_DEV && VIDEO_V4L2
|
2016-05-03 17:11:24 +07:00
|
|
|
depends on ARCH_MEDIATEK || COMPILE_TEST
|
|
|
|
select VIDEOBUF2_DMA_CONTIG
|
|
|
|
select V4L2_MEM2MEM_DEV
|
|
|
|
select VIDEO_MEDIATEK_VPU
|
2019-03-20 17:39:44 +07:00
|
|
|
help
|
2016-05-03 17:11:24 +07:00
|
|
|
Mediatek video codec driver provides HW capability to
|
|
|
|
encode and decode in a range of video formats
|
|
|
|
This driver rely on VPU driver to communicate with VPU.
|
|
|
|
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
|
|
module will be called mtk-vcodec
|
|
|
|
|
2012-07-26 15:55:18 +07:00
|
|
|
config VIDEO_MEM2MEM_DEINTERLACE
|
|
|
|
tristate "Deinterlace support"
|
2018-05-19 04:07:47 +07:00
|
|
|
depends on VIDEO_DEV && VIDEO_V4L2
|
2014-08-27 02:45:39 +07:00
|
|
|
depends on HAS_DMA
|
2012-07-26 15:55:18 +07:00
|
|
|
select VIDEOBUF2_DMA_CONTIG
|
|
|
|
select V4L2_MEM2MEM_DEV
|
|
|
|
help
|
|
|
|
Generic deinterlacing V4L2 driver.
|
|
|
|
|
2011-10-06 21:32:12 +07:00
|
|
|
config VIDEO_SAMSUNG_S5P_G2D
|
|
|
|
tristate "Samsung S5P and EXYNOS4 G2D 2d graphics accelerator driver"
|
2014-08-21 02:21:35 +07:00
|
|
|
depends on VIDEO_DEV && VIDEO_V4L2
|
2014-10-06 23:08:06 +07:00
|
|
|
depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
|
2011-10-06 21:32:12 +07:00
|
|
|
select VIDEOBUF2_DMA_CONTIG
|
|
|
|
select V4L2_MEM2MEM_DEV
|
2019-03-20 17:39:44 +07:00
|
|
|
help
|
2011-10-06 21:32:12 +07:00
|
|
|
This is a v4l2 driver for Samsung S5P and EXYNOS4 G2D
|
|
|
|
2d graphics accelerator.
|
2010-08-03 19:50:29 +07:00
|
|
|
|
2011-11-24 21:15:23 +07:00
|
|
|
config VIDEO_SAMSUNG_S5P_JPEG
|
2014-07-11 22:19:42 +07:00
|
|
|
tristate "Samsung S5P/Exynos3250/Exynos4 JPEG codec driver"
|
2014-08-21 02:21:35 +07:00
|
|
|
depends on VIDEO_DEV && VIDEO_V4L2
|
2014-10-06 23:08:06 +07:00
|
|
|
depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
|
2011-11-24 21:15:23 +07:00
|
|
|
select VIDEOBUF2_DMA_CONTIG
|
|
|
|
select V4L2_MEM2MEM_DEV
|
2019-03-20 17:39:44 +07:00
|
|
|
help
|
2014-07-11 22:19:42 +07:00
|
|
|
This is a v4l2 driver for Samsung S5P, EXYNOS3250
|
|
|
|
and EXYNOS4 JPEG codec
|
2011-11-24 21:15:23 +07:00
|
|
|
|
2011-06-21 20:51:26 +07:00
|
|
|
config VIDEO_SAMSUNG_S5P_MFC
|
2012-10-04 08:19:11 +07:00
|
|
|
tristate "Samsung S5P MFC Video Codec"
|
2014-08-21 02:21:35 +07:00
|
|
|
depends on VIDEO_DEV && VIDEO_V4L2
|
2014-10-06 23:08:06 +07:00
|
|
|
depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
|
2011-06-21 20:51:26 +07:00
|
|
|
select VIDEOBUF2_DMA_CONTIG
|
|
|
|
help
|
2012-10-04 08:19:11 +07:00
|
|
|
MFC 5.1 and 6.x driver for V4L2
|
2011-06-21 20:51:26 +07:00
|
|
|
|
2012-01-13 16:31:02 +07:00
|
|
|
config VIDEO_MX2_EMMAPRP
|
|
|
|
tristate "MX2 eMMa-PrP support"
|
2014-08-21 02:35:22 +07:00
|
|
|
depends on VIDEO_DEV && VIDEO_V4L2
|
|
|
|
depends on SOC_IMX27 || COMPILE_TEST
|
2012-01-13 16:31:02 +07:00
|
|
|
select VIDEOBUF2_DMA_CONTIG
|
|
|
|
select V4L2_MEM2MEM_DEV
|
|
|
|
help
|
|
|
|
MX2X chips have a PrP that can be used to process buffers from
|
|
|
|
memory to memory. Operations include resizing and format
|
|
|
|
conversion.
|
|
|
|
|
2012-08-16 20:19:56 +07:00
|
|
|
config VIDEO_SAMSUNG_EXYNOS_GSC
|
|
|
|
tristate "Samsung Exynos G-Scaler driver"
|
2014-08-21 02:21:35 +07:00
|
|
|
depends on VIDEO_DEV && VIDEO_V4L2
|
2016-11-09 21:29:37 +07:00
|
|
|
depends on ARCH_EXYNOS || COMPILE_TEST
|
2012-08-16 20:19:56 +07:00
|
|
|
select VIDEOBUF2_DMA_CONTIG
|
|
|
|
select V4L2_MEM2MEM_DEV
|
|
|
|
help
|
|
|
|
This is a v4l2 driver for Samsung EXYNOS5 SoC G-Scaler.
|
|
|
|
|
2015-05-12 23:02:10 +07:00
|
|
|
config VIDEO_STI_BDISP
|
|
|
|
tristate "STMicroelectronics BDISP 2D blitter driver"
|
|
|
|
depends on VIDEO_DEV && VIDEO_V4L2
|
|
|
|
depends on ARCH_STI || COMPILE_TEST
|
|
|
|
select VIDEOBUF2_DMA_CONTIG
|
|
|
|
select V4L2_MEM2MEM_DEV
|
|
|
|
help
|
|
|
|
This v4l2 mem2mem driver is a 2D blitter for STMicroelectronics SoC.
|
|
|
|
|
2016-09-05 21:06:29 +07:00
|
|
|
config VIDEO_STI_HVA
|
|
|
|
tristate "STMicroelectronics HVA multi-format video encoder V4L2 driver"
|
|
|
|
depends on VIDEO_DEV && VIDEO_V4L2
|
|
|
|
depends on ARCH_STI || COMPILE_TEST
|
|
|
|
select VIDEOBUF2_DMA_CONTIG
|
|
|
|
select V4L2_MEM2MEM_DEV
|
|
|
|
help
|
|
|
|
This V4L2 driver enables HVA (Hardware Video Accelerator) multi-format
|
|
|
|
video encoder of STMicroelectronics SoC, allowing hardware encoding of
|
|
|
|
raw uncompressed formats in various compressed video bitstreams format.
|
|
|
|
|
|
|
|
To compile this driver as a module, choose M here:
|
|
|
|
the module will be called st-hva.
|
|
|
|
|
[media] st-hva: add debug file system
This patch creates 4 static debugfs entries to dump:
- the device-related information ("st-hva/device")
- the list of registered encoders ("st-hva/encoders")
- the current values of the hva registers ("st-hva/regs")
- the information about the last closed instance ("st-hva/last")
It also creates dynamically a debugfs entry for each opened instance,
("st-hva/<instance identifier>") to dump:
- the information about the frame (format, resolution)
- the information about the stream (format, profile, level,
resolution)
- the control parameters (bitrate mode, framerate, GOP size...)
- the potential (system, encoding...) errors
- the performance information about the encoding (HW processing
duration, average bitrate, average framerate...)
Each time a running instance is closed, its context (including the
debug information) is saved to feed, on demand, the last closed
instance debugfs entry.
Signed-off-by: Yannick Fertre <yannick.fertre@st.com>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Jean-Christophe Trotin <jean-christophe.trotin@st.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-01-31 17:37:57 +07:00
|
|
|
config VIDEO_STI_HVA_DEBUGFS
|
|
|
|
bool "Export STMicroelectronics HVA internals in debugfs"
|
|
|
|
depends on VIDEO_STI_HVA
|
|
|
|
depends on DEBUG_FS
|
|
|
|
help
|
|
|
|
Select this to see information about the internal state and the last
|
2018-01-04 18:47:28 +07:00
|
|
|
operation of STMicroelectronics HVA multi-format video encoder in
|
|
|
|
debugfs.
|
[media] st-hva: add debug file system
This patch creates 4 static debugfs entries to dump:
- the device-related information ("st-hva/device")
- the list of registered encoders ("st-hva/encoders")
- the current values of the hva registers ("st-hva/regs")
- the information about the last closed instance ("st-hva/last")
It also creates dynamically a debugfs entry for each opened instance,
("st-hva/<instance identifier>") to dump:
- the information about the frame (format, resolution)
- the information about the stream (format, profile, level,
resolution)
- the control parameters (bitrate mode, framerate, GOP size...)
- the potential (system, encoding...) errors
- the performance information about the encoding (HW processing
duration, average bitrate, average framerate...)
Each time a running instance is closed, its context (including the
debug information) is saved to feed, on demand, the last closed
instance debugfs entry.
Signed-off-by: Yannick Fertre <yannick.fertre@st.com>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Jean-Christophe Trotin <jean-christophe.trotin@st.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-01-31 17:37:57 +07:00
|
|
|
|
2018-01-04 18:47:28 +07:00
|
|
|
Choose N unless you know you need this.
|
[media] st-hva: add debug file system
This patch creates 4 static debugfs entries to dump:
- the device-related information ("st-hva/device")
- the list of registered encoders ("st-hva/encoders")
- the current values of the hva registers ("st-hva/regs")
- the information about the last closed instance ("st-hva/last")
It also creates dynamically a debugfs entry for each opened instance,
("st-hva/<instance identifier>") to dump:
- the information about the frame (format, resolution)
- the information about the stream (format, profile, level,
resolution)
- the control parameters (bitrate mode, framerate, GOP size...)
- the potential (system, encoding...) errors
- the performance information about the encoding (HW processing
duration, average bitrate, average framerate...)
Each time a running instance is closed, its context (including the
debug information) is saved to feed, on demand, the last closed
instance debugfs entry.
Signed-off-by: Yannick Fertre <yannick.fertre@st.com>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Jean-Christophe Trotin <jean-christophe.trotin@st.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-01-31 17:37:57 +07:00
|
|
|
|
2017-02-02 21:59:48 +07:00
|
|
|
config VIDEO_STI_DELTA
|
|
|
|
tristate "STMicroelectronics DELTA multi-format video decoder V4L2 driver"
|
|
|
|
depends on VIDEO_DEV && VIDEO_V4L2
|
|
|
|
depends on ARCH_STI || COMPILE_TEST
|
|
|
|
help
|
|
|
|
This V4L2 driver enables DELTA multi-format video decoder
|
|
|
|
of STMicroelectronics STiH4xx SoC series allowing hardware
|
|
|
|
decoding of various compressed video bitstream format in
|
|
|
|
raw uncompressed format.
|
|
|
|
|
|
|
|
Use this option to see the decoders available for such
|
|
|
|
hardware.
|
|
|
|
|
|
|
|
Please notice that the driver will only be built if
|
|
|
|
at least one of the DELTA decoder below is selected.
|
|
|
|
|
|
|
|
if VIDEO_STI_DELTA
|
|
|
|
|
2017-02-02 21:59:52 +07:00
|
|
|
config VIDEO_STI_DELTA_MJPEG
|
|
|
|
bool "STMicroelectronics DELTA MJPEG support"
|
|
|
|
default y
|
|
|
|
help
|
|
|
|
Enables DELTA MJPEG hardware support.
|
|
|
|
|
|
|
|
To compile this driver as a module, choose M here:
|
|
|
|
the module will be called st-delta.
|
|
|
|
|
2017-02-02 21:59:48 +07:00
|
|
|
config VIDEO_STI_DELTA_DRIVER
|
|
|
|
tristate
|
|
|
|
depends on VIDEO_STI_DELTA
|
2017-02-02 21:59:52 +07:00
|
|
|
depends on VIDEO_STI_DELTA_MJPEG
|
|
|
|
default VIDEO_STI_DELTA_MJPEG
|
2017-02-02 21:59:48 +07:00
|
|
|
select VIDEOBUF2_DMA_CONTIG
|
|
|
|
select V4L2_MEM2MEM_DEV
|
2017-02-02 21:59:50 +07:00
|
|
|
select RPMSG
|
2017-02-02 21:59:48 +07:00
|
|
|
|
|
|
|
endif # VIDEO_STI_DELTA
|
|
|
|
|
2012-10-05 17:43:41 +07:00
|
|
|
config VIDEO_SH_VEU
|
|
|
|
tristate "SuperH VEU mem2mem video processing driver"
|
2013-08-30 14:39:53 +07:00
|
|
|
depends on VIDEO_DEV && VIDEO_V4L2 && HAS_DMA
|
2012-10-05 17:43:41 +07:00
|
|
|
select VIDEOBUF2_DMA_CONTIG
|
|
|
|
select V4L2_MEM2MEM_DEV
|
|
|
|
help
|
|
|
|
Support for the Video Engine Unit (VEU) on SuperH and
|
|
|
|
SH-Mobile SoCs.
|
|
|
|
|
2016-06-30 20:41:23 +07:00
|
|
|
config VIDEO_RENESAS_FDP1
|
|
|
|
tristate "Renesas Fine Display Processor"
|
2018-05-18 00:18:12 +07:00
|
|
|
depends on VIDEO_DEV && VIDEO_V4L2
|
2018-05-18 17:51:23 +07:00
|
|
|
depends on ARCH_RENESAS || COMPILE_TEST
|
2018-07-11 21:23:32 +07:00
|
|
|
depends on (!ARM64 && !VIDEO_RENESAS_FCP) || VIDEO_RENESAS_FCP
|
2016-06-30 20:41:23 +07:00
|
|
|
select VIDEOBUF2_DMA_CONTIG
|
|
|
|
select V4L2_MEM2MEM_DEV
|
2019-03-20 17:39:44 +07:00
|
|
|
help
|
2016-06-30 20:41:23 +07:00
|
|
|
This is a V4L2 driver for the Renesas Fine Display Processor
|
|
|
|
providing colour space conversion, and de-interlacing features.
|
|
|
|
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
|
|
will be called rcar_fdp1.
|
|
|
|
|
[media] V4L2: platform: Add Renesas R-Car JPEG codec driver
Here's the driver for the Renesas R-Car JPEG processing unit.
The driver is implemented within the V4L2 framework as a memory-to-memory
device. It presents two video nodes to userspace, one for the encoding part,
and one for the decoding part.
It was found that the only working mode for encoding is no markers output, so we
generate markers with software. In the current version of driver we also use
software JPEG header parsing because with hardware parsing performance is lower
than desired.
>From a userspace point of view the process is typical (S_FMT, REQBUF,
optionally QUERYBUF, QBUF, STREAMON, DQBUF) for both the source and destination
queues. STREAMON can return -EINVAL in case of mismatch of output and capture
queues format. Also during decoding driver can return buffers if queued
buffer with JPEG image contains image with inappropriate subsampling (e.g.
4:2:0 in JPEG and 4:2:2 in capture). If JPEG image and queue format dimensions
differ driver will return buffer on QBUF with VB2_BUF_STATE_ERROR flag.
During encoding the available formats are: V4L2_PIX_FMT_NV12M,
V4L2_PIX_FMT_NV12, V4L2_PIX_FMT_NV16, V4L2_PIX_FMT_NV16M for source and
V4L2_PIX_FMT_JPEG for destination.
During decoding the available formats are: V4L2_PIX_FMT_JPEG for source and
V4L2_PIX_FMT_NV12M, V4L2_PIX_FMT_NV16M, V4L2_PIX_FMT_NV12, V4L2_PIX_FMT_NV16
for destination.
Performance of current version:
1280x800 NV12 image encoding/decoding
decoding ~122 FPS
encoding ~191 FPS
Signed-off-by: Mikhail Ulyanov <mikhail.ulyanov@cogentembedded.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2015-07-22 18:23:03 +07:00
|
|
|
config VIDEO_RENESAS_JPU
|
|
|
|
tristate "Renesas JPEG Processing Unit"
|
2018-05-18 00:18:12 +07:00
|
|
|
depends on VIDEO_DEV && VIDEO_V4L2
|
2016-03-25 08:46:45 +07:00
|
|
|
depends on ARCH_RENESAS || COMPILE_TEST
|
[media] V4L2: platform: Add Renesas R-Car JPEG codec driver
Here's the driver for the Renesas R-Car JPEG processing unit.
The driver is implemented within the V4L2 framework as a memory-to-memory
device. It presents two video nodes to userspace, one for the encoding part,
and one for the decoding part.
It was found that the only working mode for encoding is no markers output, so we
generate markers with software. In the current version of driver we also use
software JPEG header parsing because with hardware parsing performance is lower
than desired.
>From a userspace point of view the process is typical (S_FMT, REQBUF,
optionally QUERYBUF, QBUF, STREAMON, DQBUF) for both the source and destination
queues. STREAMON can return -EINVAL in case of mismatch of output and capture
queues format. Also during decoding driver can return buffers if queued
buffer with JPEG image contains image with inappropriate subsampling (e.g.
4:2:0 in JPEG and 4:2:2 in capture). If JPEG image and queue format dimensions
differ driver will return buffer on QBUF with VB2_BUF_STATE_ERROR flag.
During encoding the available formats are: V4L2_PIX_FMT_NV12M,
V4L2_PIX_FMT_NV12, V4L2_PIX_FMT_NV16, V4L2_PIX_FMT_NV16M for source and
V4L2_PIX_FMT_JPEG for destination.
During decoding the available formats are: V4L2_PIX_FMT_JPEG for source and
V4L2_PIX_FMT_NV12M, V4L2_PIX_FMT_NV16M, V4L2_PIX_FMT_NV12, V4L2_PIX_FMT_NV16
for destination.
Performance of current version:
1280x800 NV12 image encoding/decoding
decoding ~122 FPS
encoding ~191 FPS
Signed-off-by: Mikhail Ulyanov <mikhail.ulyanov@cogentembedded.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2015-07-22 18:23:03 +07:00
|
|
|
select VIDEOBUF2_DMA_CONTIG
|
|
|
|
select V4L2_MEM2MEM_DEV
|
2019-03-20 17:39:44 +07:00
|
|
|
help
|
[media] V4L2: platform: Add Renesas R-Car JPEG codec driver
Here's the driver for the Renesas R-Car JPEG processing unit.
The driver is implemented within the V4L2 framework as a memory-to-memory
device. It presents two video nodes to userspace, one for the encoding part,
and one for the decoding part.
It was found that the only working mode for encoding is no markers output, so we
generate markers with software. In the current version of driver we also use
software JPEG header parsing because with hardware parsing performance is lower
than desired.
>From a userspace point of view the process is typical (S_FMT, REQBUF,
optionally QUERYBUF, QBUF, STREAMON, DQBUF) for both the source and destination
queues. STREAMON can return -EINVAL in case of mismatch of output and capture
queues format. Also during decoding driver can return buffers if queued
buffer with JPEG image contains image with inappropriate subsampling (e.g.
4:2:0 in JPEG and 4:2:2 in capture). If JPEG image and queue format dimensions
differ driver will return buffer on QBUF with VB2_BUF_STATE_ERROR flag.
During encoding the available formats are: V4L2_PIX_FMT_NV12M,
V4L2_PIX_FMT_NV12, V4L2_PIX_FMT_NV16, V4L2_PIX_FMT_NV16M for source and
V4L2_PIX_FMT_JPEG for destination.
During decoding the available formats are: V4L2_PIX_FMT_JPEG for source and
V4L2_PIX_FMT_NV12M, V4L2_PIX_FMT_NV16M, V4L2_PIX_FMT_NV12, V4L2_PIX_FMT_NV16
for destination.
Performance of current version:
1280x800 NV12 image encoding/decoding
decoding ~122 FPS
encoding ~191 FPS
Signed-off-by: Mikhail Ulyanov <mikhail.ulyanov@cogentembedded.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2015-07-22 18:23:03 +07:00
|
|
|
This is a V4L2 driver for the Renesas JPEG Processing Unit.
|
|
|
|
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
|
|
will be called rcar_jpu.
|
|
|
|
|
2016-02-12 07:29:58 +07:00
|
|
|
config VIDEO_RENESAS_FCP
|
|
|
|
tristate "Renesas Frame Compression Processor"
|
|
|
|
depends on ARCH_RENESAS || COMPILE_TEST
|
|
|
|
depends on OF
|
2019-03-20 17:39:44 +07:00
|
|
|
help
|
2016-02-12 07:29:58 +07:00
|
|
|
This is a driver for the Renesas Frame Compression Processor (FCP).
|
|
|
|
The FCP is a companion module of video processing modules in the
|
|
|
|
Renesas R-Car Gen3 SoCs. It handles memory access for the codec,
|
|
|
|
VSP and FDP modules.
|
|
|
|
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
|
|
will be called rcar-fcp.
|
|
|
|
|
2013-06-04 21:22:30 +07:00
|
|
|
config VIDEO_RENESAS_VSP1
|
|
|
|
tristate "Renesas VSP1 Video Processing Engine"
|
2018-05-18 00:18:12 +07:00
|
|
|
depends on VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API
|
2018-02-27 01:09:10 +07:00
|
|
|
depends on ARCH_RENESAS || COMPILE_TEST
|
2016-06-30 19:23:03 +07:00
|
|
|
depends on (!ARM64 && !VIDEO_RENESAS_FCP) || VIDEO_RENESAS_FCP
|
2013-06-04 21:22:30 +07:00
|
|
|
select VIDEOBUF2_DMA_CONTIG
|
2016-09-07 18:58:49 +07:00
|
|
|
select VIDEOBUF2_VMALLOC
|
2019-03-20 17:39:44 +07:00
|
|
|
help
|
2013-06-04 21:22:30 +07:00
|
|
|
This is a V4L2 driver for the Renesas VSP1 video processing engine.
|
|
|
|
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
|
|
will be called vsp1.
|
|
|
|
|
2017-10-11 14:29:35 +07:00
|
|
|
config VIDEO_ROCKCHIP_RGA
|
|
|
|
tristate "Rockchip Raster 2d Graphic Acceleration Unit"
|
2018-05-18 00:18:12 +07:00
|
|
|
depends on VIDEO_DEV && VIDEO_V4L2
|
2017-10-11 14:29:35 +07:00
|
|
|
depends on ARCH_ROCKCHIP || COMPILE_TEST
|
|
|
|
select VIDEOBUF2_DMA_SG
|
|
|
|
select V4L2_MEM2MEM_DEV
|
2019-03-20 17:39:44 +07:00
|
|
|
help
|
2017-10-11 14:29:35 +07:00
|
|
|
This is a v4l2 driver for Rockchip SOC RGA 2d graphics accelerator.
|
|
|
|
Rockchip RGA is a separate 2D raster graphic acceleration unit.
|
|
|
|
It accelerates 2D graphics operations, such as point/line drawing,
|
|
|
|
image scaling, rotation, BitBLT, alpha blending and image blur/sharpness.
|
|
|
|
|
|
|
|
To compile this driver as a module choose m here.
|
|
|
|
|
[media] v4l: ti-vpe: Add VPE mem to mem driver
VPE is a block which consists of a single memory to memory path which
can perform chrominance up/down sampling, de-interlacing, scaling, and
color space conversion of raster or tiled YUV420 coplanar, YUV422
coplanar or YUV422 interleaved video formats.
We create a mem2mem driver based primarily on the mem2mem-testdev
example. The de-interlacer, scaler and color space converter are all
bypassed for now to keep the driver simple. Chroma up/down sampler
blocks are implemented, so conversion beteen different YUV formats is
possible.
Each mem2mem context allocates a buffer for VPE MMR values which it will
use when it gets access to the VPE HW via the mem2mem queue, it also
allocates a VPDMA descriptor list to which configuration and data
descriptors are added.
Based on the information received via v4l2 ioctls for the source and
destination queues, the driver configures the values for the MMRs, and
stores them in the buffer. There are also some VPDMA parameters like
frame start and line mode which needs to be configured, these are
configured by direct register writes via the VPDMA helper functions.
The driver's device_run() mem2mem op will add each descriptor based on
how the source and destination queues are set up for the given ctx, once
the list is prepared, it's submitted to VPDMA, these descriptors when
parsed by VPDMA will upload MMR registers, start DMA of video buffers on
the various input and output clients/ports.
When the list is parsed completely(and the DMAs on all the output ports
done), an interrupt is generated which we use to notify that the source
and destination buffers are done. The rest of the driver is quite
similar to other mem2mem drivers, we use the multiplane v4l2 ioctls as
the HW support coplanar formats.
Signed-off-by: Archit Taneja <archit@ti.com>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Kamil Debski <k.debski@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2013-10-16 12:36:47 +07:00
|
|
|
config VIDEO_TI_VPE
|
|
|
|
tristate "TI VPE (Video Processing Engine) driver"
|
2014-08-21 02:41:56 +07:00
|
|
|
depends on VIDEO_DEV && VIDEO_V4L2
|
|
|
|
depends on SOC_DRA7XX || COMPILE_TEST
|
[media] v4l: ti-vpe: Add VPE mem to mem driver
VPE is a block which consists of a single memory to memory path which
can perform chrominance up/down sampling, de-interlacing, scaling, and
color space conversion of raster or tiled YUV420 coplanar, YUV422
coplanar or YUV422 interleaved video formats.
We create a mem2mem driver based primarily on the mem2mem-testdev
example. The de-interlacer, scaler and color space converter are all
bypassed for now to keep the driver simple. Chroma up/down sampler
blocks are implemented, so conversion beteen different YUV formats is
possible.
Each mem2mem context allocates a buffer for VPE MMR values which it will
use when it gets access to the VPE HW via the mem2mem queue, it also
allocates a VPDMA descriptor list to which configuration and data
descriptors are added.
Based on the information received via v4l2 ioctls for the source and
destination queues, the driver configures the values for the MMRs, and
stores them in the buffer. There are also some VPDMA parameters like
frame start and line mode which needs to be configured, these are
configured by direct register writes via the VPDMA helper functions.
The driver's device_run() mem2mem op will add each descriptor based on
how the source and destination queues are set up for the given ctx, once
the list is prepared, it's submitted to VPDMA, these descriptors when
parsed by VPDMA will upload MMR registers, start DMA of video buffers on
the various input and output clients/ports.
When the list is parsed completely(and the DMAs on all the output ports
done), an interrupt is generated which we use to notify that the source
and destination buffers are done. The rest of the driver is quite
similar to other mem2mem drivers, we use the multiplane v4l2 ioctls as
the HW support coplanar formats.
Signed-off-by: Archit Taneja <archit@ti.com>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Kamil Debski <k.debski@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2013-10-16 12:36:47 +07:00
|
|
|
select VIDEOBUF2_DMA_CONTIG
|
|
|
|
select V4L2_MEM2MEM_DEV
|
2016-11-19 06:20:11 +07:00
|
|
|
select VIDEO_TI_VPDMA
|
2016-11-19 06:20:39 +07:00
|
|
|
select VIDEO_TI_SC
|
2016-11-19 06:20:43 +07:00
|
|
|
select VIDEO_TI_CSC
|
2019-03-20 17:39:44 +07:00
|
|
|
help
|
[media] v4l: ti-vpe: Add VPE mem to mem driver
VPE is a block which consists of a single memory to memory path which
can perform chrominance up/down sampling, de-interlacing, scaling, and
color space conversion of raster or tiled YUV420 coplanar, YUV422
coplanar or YUV422 interleaved video formats.
We create a mem2mem driver based primarily on the mem2mem-testdev
example. The de-interlacer, scaler and color space converter are all
bypassed for now to keep the driver simple. Chroma up/down sampler
blocks are implemented, so conversion beteen different YUV formats is
possible.
Each mem2mem context allocates a buffer for VPE MMR values which it will
use when it gets access to the VPE HW via the mem2mem queue, it also
allocates a VPDMA descriptor list to which configuration and data
descriptors are added.
Based on the information received via v4l2 ioctls for the source and
destination queues, the driver configures the values for the MMRs, and
stores them in the buffer. There are also some VPDMA parameters like
frame start and line mode which needs to be configured, these are
configured by direct register writes via the VPDMA helper functions.
The driver's device_run() mem2mem op will add each descriptor based on
how the source and destination queues are set up for the given ctx, once
the list is prepared, it's submitted to VPDMA, these descriptors when
parsed by VPDMA will upload MMR registers, start DMA of video buffers on
the various input and output clients/ports.
When the list is parsed completely(and the DMAs on all the output ports
done), an interrupt is generated which we use to notify that the source
and destination buffers are done. The rest of the driver is quite
similar to other mem2mem drivers, we use the multiplane v4l2 ioctls as
the HW support coplanar formats.
Signed-off-by: Archit Taneja <archit@ti.com>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Kamil Debski <k.debski@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2013-10-16 12:36:47 +07:00
|
|
|
Support for the TI VPE(Video Processing Engine) block
|
|
|
|
found on DRA7XX SoC.
|
|
|
|
|
|
|
|
config VIDEO_TI_VPE_DEBUG
|
|
|
|
bool "VPE debug messages"
|
|
|
|
depends on VIDEO_TI_VPE
|
2019-03-20 17:39:44 +07:00
|
|
|
help
|
[media] v4l: ti-vpe: Add VPE mem to mem driver
VPE is a block which consists of a single memory to memory path which
can perform chrominance up/down sampling, de-interlacing, scaling, and
color space conversion of raster or tiled YUV420 coplanar, YUV422
coplanar or YUV422 interleaved video formats.
We create a mem2mem driver based primarily on the mem2mem-testdev
example. The de-interlacer, scaler and color space converter are all
bypassed for now to keep the driver simple. Chroma up/down sampler
blocks are implemented, so conversion beteen different YUV formats is
possible.
Each mem2mem context allocates a buffer for VPE MMR values which it will
use when it gets access to the VPE HW via the mem2mem queue, it also
allocates a VPDMA descriptor list to which configuration and data
descriptors are added.
Based on the information received via v4l2 ioctls for the source and
destination queues, the driver configures the values for the MMRs, and
stores them in the buffer. There are also some VPDMA parameters like
frame start and line mode which needs to be configured, these are
configured by direct register writes via the VPDMA helper functions.
The driver's device_run() mem2mem op will add each descriptor based on
how the source and destination queues are set up for the given ctx, once
the list is prepared, it's submitted to VPDMA, these descriptors when
parsed by VPDMA will upload MMR registers, start DMA of video buffers on
the various input and output clients/ports.
When the list is parsed completely(and the DMAs on all the output ports
done), an interrupt is generated which we use to notify that the source
and destination buffers are done. The rest of the driver is quite
similar to other mem2mem drivers, we use the multiplane v4l2 ioctls as
the HW support coplanar formats.
Signed-off-by: Archit Taneja <archit@ti.com>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Kamil Debski <k.debski@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2013-10-16 12:36:47 +07:00
|
|
|
Enable debug messages on VPE driver.
|
|
|
|
|
2017-06-15 23:31:50 +07:00
|
|
|
config VIDEO_QCOM_VENUS
|
|
|
|
tristate "Qualcomm Venus V4L2 encoder/decoder driver"
|
2018-05-18 00:18:12 +07:00
|
|
|
depends on VIDEO_DEV && VIDEO_V4L2
|
2017-06-20 20:13:50 +07:00
|
|
|
depends on (ARCH_QCOM && IOMMU_DMA) || COMPILE_TEST
|
2019-08-13 22:25:08 +07:00
|
|
|
depends on INTERCONNECT || !INTERCONNECT
|
2017-07-17 15:56:49 +07:00
|
|
|
select QCOM_MDT_LOADER if ARCH_QCOM
|
|
|
|
select QCOM_SCM if ARCH_QCOM
|
2017-06-15 23:31:50 +07:00
|
|
|
select VIDEOBUF2_DMA_SG
|
|
|
|
select V4L2_MEM2MEM_DEV
|
2019-03-20 17:39:44 +07:00
|
|
|
help
|
2017-06-15 23:31:50 +07:00
|
|
|
This is a V4L2 driver for Qualcomm Venus video accelerator
|
|
|
|
hardware. It accelerates encoding and decoding operations
|
|
|
|
on various Qualcomm SoCs.
|
|
|
|
To compile this driver as a module choose m here.
|
|
|
|
|
media: sun4i: Add H3 deinterlace driver
Allwinner H3 SoC contains deinterlace unit, which has several modes of
operation - bypass, weave, bob and mixed (advanced) mode. I don't know
how mixed mode works, but according to Allwinner it gives best results,
so they use it exclusively. Currently this mode is also hardcoded here.
For each interleaved frame queued, this driver produces 2 deinterlaced
frames. Deinterlaced frames are based on 2 consequtive output buffers,
except for the first 2, where same output buffer is given to peripheral
as current and previous.
There is no documentation for this core, so register layout and fixed
values were taken from BSP driver.
I'm not sure if maximum size of the image unit is capable to process is
governed by size of "flag" buffers, frequency or it really is some HW
limitation. Currently driver can process full HD image in ~15ms (7.5ms
for each capture buffer), which allows to process 1920x1080@60i video
smoothly in real time.
Acked-by: Maxime Ripard <mripard@kernel.org>
Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
[hverkuil-cisco@xs4all.nl: add static to deinterlace_ioctl_ops]
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
2019-10-24 05:13:31 +07:00
|
|
|
config VIDEO_SUN8I_DEINTERLACE
|
|
|
|
tristate "Allwinner Deinterlace driver"
|
|
|
|
depends on VIDEO_DEV && VIDEO_V4L2
|
|
|
|
depends on ARCH_SUNXI || COMPILE_TEST
|
|
|
|
depends on COMMON_CLK && OF
|
|
|
|
depends on PM
|
|
|
|
select VIDEOBUF2_DMA_CONTIG
|
|
|
|
select V4L2_MEM2MEM_DEV
|
|
|
|
help
|
|
|
|
Support for the Allwinner deinterlace unit with scaling
|
|
|
|
capability found on some SoCs, like H3.
|
|
|
|
To compile this driver as a module choose m here.
|
|
|
|
|
2010-04-23 15:38:38 +07:00
|
|
|
endif # V4L_MEM2MEM_DRIVERS
|
2012-08-15 02:23:43 +07:00
|
|
|
|
2016-11-19 06:20:11 +07:00
|
|
|
# TI VIDEO PORT Helper Modules
|
|
|
|
# These will be selected by VPE and VIP
|
|
|
|
config VIDEO_TI_VPDMA
|
|
|
|
tristate
|
|
|
|
|
2016-11-19 06:20:39 +07:00
|
|
|
config VIDEO_TI_SC
|
|
|
|
tristate
|
|
|
|
|
2016-11-19 06:20:43 +07:00
|
|
|
config VIDEO_TI_CSC
|
|
|
|
tristate
|
|
|
|
|
2012-08-20 20:07:27 +07:00
|
|
|
menuconfig V4L_TEST_DRIVERS
|
|
|
|
bool "Media test drivers"
|
|
|
|
depends on MEDIA_CAMERA_SUPPORT
|
|
|
|
|
|
|
|
if V4L_TEST_DRIVERS
|
2014-08-25 18:06:34 +07:00
|
|
|
|
2017-04-08 00:55:19 +07:00
|
|
|
source "drivers/media/platform/vimc/Kconfig"
|
|
|
|
|
2014-08-25 18:06:34 +07:00
|
|
|
source "drivers/media/platform/vivid/Kconfig"
|
|
|
|
|
2014-09-22 19:27:17 +07:00
|
|
|
config VIDEO_VIM2M
|
|
|
|
tristate "Virtual Memory-to-Memory Driver"
|
2012-08-20 20:07:27 +07:00
|
|
|
depends on VIDEO_DEV && VIDEO_V4L2
|
|
|
|
select VIDEOBUF2_VMALLOC
|
|
|
|
select V4L2_MEM2MEM_DEV
|
2019-03-20 17:39:44 +07:00
|
|
|
help
|
2012-08-20 20:07:27 +07:00
|
|
|
This is a virtual test device for the memory-to-memory driver
|
|
|
|
framework.
|
2018-07-20 14:52:50 +07:00
|
|
|
|
|
|
|
source "drivers/media/platform/vicodec/Kconfig"
|
|
|
|
|
2012-08-20 20:07:27 +07:00
|
|
|
endif #V4L_TEST_DRIVERS
|
2015-07-31 00:09:00 +07:00
|
|
|
|
2015-08-12 05:24:05 +07:00
|
|
|
menuconfig DVB_PLATFORM_DRIVERS
|
|
|
|
bool "DVB platform devices"
|
|
|
|
depends on MEDIA_DIGITAL_TV_SUPPORT
|
2019-03-20 17:39:44 +07:00
|
|
|
help
|
2015-08-12 05:24:05 +07:00
|
|
|
Say Y here to enable support for platform-specific Digital TV drivers.
|
|
|
|
|
|
|
|
if DVB_PLATFORM_DRIVERS
|
2015-07-31 00:09:00 +07:00
|
|
|
source "drivers/media/platform/sti/c8sectpfe/Kconfig"
|
2015-08-12 05:24:05 +07:00
|
|
|
endif #DVB_PLATFORM_DRIVERS
|
2017-04-17 17:44:35 +07:00
|
|
|
|
|
|
|
menuconfig CEC_PLATFORM_DRIVERS
|
|
|
|
bool "CEC platform devices"
|
|
|
|
depends on MEDIA_CEC_SUPPORT
|
|
|
|
|
|
|
|
if CEC_PLATFORM_DRIVERS
|
|
|
|
|
2018-07-04 22:08:21 +07:00
|
|
|
config VIDEO_CROS_EC_CEC
|
|
|
|
tristate "ChromeOS EC CEC driver"
|
2019-09-02 16:53:01 +07:00
|
|
|
depends on CROS_EC
|
2018-07-04 22:08:21 +07:00
|
|
|
select CEC_CORE
|
|
|
|
select CEC_NOTIFIER
|
2018-08-14 23:02:31 +07:00
|
|
|
select CROS_EC_PROTO
|
2019-03-20 17:39:44 +07:00
|
|
|
help
|
2018-07-04 22:08:21 +07:00
|
|
|
If you say yes here you will get support for the
|
|
|
|
ChromeOS Embedded Controller's CEC.
|
|
|
|
The CEC bus is present in the HDMI connector and enables communication
|
|
|
|
between compatible devices.
|
|
|
|
|
2017-07-27 22:20:29 +07:00
|
|
|
config VIDEO_MESON_AO_CEC
|
|
|
|
tristate "Amlogic Meson AO CEC driver"
|
|
|
|
depends on ARCH_MESON || COMPILE_TEST
|
|
|
|
select CEC_CORE
|
|
|
|
select CEC_NOTIFIER
|
2019-03-20 17:39:44 +07:00
|
|
|
help
|
2017-07-27 22:20:29 +07:00
|
|
|
This is a driver for Amlogic Meson SoCs AO CEC interface. It uses the
|
|
|
|
generic CEC framework interface.
|
|
|
|
CEC bus is present in the HDMI connector and enables communication
|
2017-06-28 15:14:28 +07:00
|
|
|
|
2019-04-12 15:30:59 +07:00
|
|
|
config VIDEO_MESON_G12A_AO_CEC
|
|
|
|
tristate "Amlogic Meson G12A AO CEC driver"
|
|
|
|
depends on ARCH_MESON || COMPILE_TEST
|
|
|
|
depends on COMMON_CLK && OF
|
|
|
|
select REGMAP
|
|
|
|
select REGMAP_MMIO
|
|
|
|
select CEC_CORE
|
|
|
|
select CEC_NOTIFIER
|
|
|
|
---help---
|
|
|
|
This is a driver for Amlogic Meson G12A SoCs AO CEC interface.
|
|
|
|
This driver if for the new AO-CEC module found in G12A SoCs,
|
|
|
|
usually named AO_CEC_B in documentation.
|
|
|
|
It uses the generic CEC framework interface.
|
|
|
|
CEC bus is present in the HDMI connector and enables communication
|
|
|
|
between compatible devices.
|
|
|
|
|
2017-06-28 15:14:28 +07:00
|
|
|
config CEC_GPIO
|
|
|
|
tristate "Generic GPIO-based CEC driver"
|
2019-10-16 02:18:17 +07:00
|
|
|
depends on PREEMPTION || COMPILE_TEST
|
2017-06-28 15:14:28 +07:00
|
|
|
select CEC_CORE
|
|
|
|
select CEC_PIN
|
2019-09-19 18:15:53 +07:00
|
|
|
select CEC_NOTIFIER
|
2017-06-28 15:14:28 +07:00
|
|
|
select GPIOLIB
|
2019-03-20 17:39:44 +07:00
|
|
|
help
|
2017-06-28 15:14:28 +07:00
|
|
|
This is a generic GPIO-based CEC driver.
|
|
|
|
The CEC bus is present in the HDMI connector and enables communication
|
2017-07-27 22:20:29 +07:00
|
|
|
between compatible devices.
|
|
|
|
|
2017-04-17 17:44:35 +07:00
|
|
|
config VIDEO_SAMSUNG_S5P_CEC
|
|
|
|
tristate "Samsung S5P CEC driver"
|
2018-02-05 08:21:29 +07:00
|
|
|
depends on ARCH_EXYNOS || COMPILE_TEST
|
2017-05-28 15:48:37 +07:00
|
|
|
select CEC_CORE
|
2017-05-28 15:58:04 +07:00
|
|
|
select CEC_NOTIFIER
|
2019-03-20 17:39:44 +07:00
|
|
|
help
|
2018-01-04 18:47:28 +07:00
|
|
|
This is a driver for Samsung S5P HDMI CEC interface. It uses the
|
|
|
|
generic CEC framework interface.
|
|
|
|
CEC bus is present in the HDMI connector and enables communication
|
|
|
|
between compatible devices.
|
2017-04-17 17:44:35 +07:00
|
|
|
|
|
|
|
config VIDEO_STI_HDMI_CEC
|
|
|
|
tristate "STMicroelectronics STiH4xx HDMI CEC driver"
|
2017-05-28 15:48:37 +07:00
|
|
|
depends on ARCH_STI || COMPILE_TEST
|
|
|
|
select CEC_CORE
|
2017-05-28 15:58:04 +07:00
|
|
|
select CEC_NOTIFIER
|
2019-03-20 17:39:44 +07:00
|
|
|
help
|
2018-01-04 18:47:28 +07:00
|
|
|
This is a driver for STIH4xx HDMI CEC interface. It uses the
|
|
|
|
generic CEC framework interface.
|
|
|
|
CEC bus is present in the HDMI connector and enables communication
|
|
|
|
between compatible devices.
|
2017-04-17 17:44:35 +07:00
|
|
|
|
2017-05-31 20:23:48 +07:00
|
|
|
config VIDEO_STM32_HDMI_CEC
|
|
|
|
tristate "STMicroelectronics STM32 HDMI CEC driver"
|
|
|
|
depends on ARCH_STM32 || COMPILE_TEST
|
|
|
|
select REGMAP
|
|
|
|
select REGMAP_MMIO
|
|
|
|
select CEC_CORE
|
2019-03-20 17:39:44 +07:00
|
|
|
help
|
2018-01-04 18:47:28 +07:00
|
|
|
This is a driver for STM32 interface. It uses the
|
|
|
|
generic CEC framework interface.
|
|
|
|
CEC bus is present in the HDMI connector and enables communication
|
|
|
|
between compatible devices.
|
2017-05-31 20:23:48 +07:00
|
|
|
|
2017-07-15 15:51:00 +07:00
|
|
|
config VIDEO_TEGRA_HDMI_CEC
|
|
|
|
tristate "Tegra HDMI CEC driver"
|
|
|
|
depends on ARCH_TEGRA || COMPILE_TEST
|
|
|
|
select CEC_CORE
|
|
|
|
select CEC_NOTIFIER
|
2019-03-20 17:39:44 +07:00
|
|
|
help
|
2018-01-04 18:47:28 +07:00
|
|
|
This is a driver for the Tegra HDMI CEC interface. It uses the
|
|
|
|
generic CEC framework interface.
|
|
|
|
The CEC bus is present in the HDMI connector and enables communication
|
|
|
|
between compatible devices.
|
2017-07-15 15:51:00 +07:00
|
|
|
|
2018-10-21 23:58:19 +07:00
|
|
|
config VIDEO_SECO_CEC
|
|
|
|
tristate "SECO Boards HDMI CEC driver"
|
|
|
|
depends on (X86 || IA64) || COMPILE_TEST
|
|
|
|
depends on PCI && DMI
|
|
|
|
select CEC_CORE
|
|
|
|
select CEC_NOTIFIER
|
|
|
|
help
|
|
|
|
This is a driver for SECO Boards integrated CEC interface.
|
|
|
|
Selecting it will enable support for this device.
|
|
|
|
CEC bus is present in the HDMI connector and enables communication
|
|
|
|
between compatible devices.
|
|
|
|
|
2018-10-21 23:58:20 +07:00
|
|
|
config VIDEO_SECO_RC
|
|
|
|
bool "SECO Boards IR RC5 support"
|
|
|
|
depends on VIDEO_SECO_CEC
|
2019-03-14 04:18:07 +07:00
|
|
|
depends on RC_CORE=y || RC_CORE = VIDEO_SECO_CEC
|
2018-10-21 23:58:20 +07:00
|
|
|
help
|
|
|
|
If you say yes here you will get support for the
|
|
|
|
SECO Boards Consumer-IR in seco-cec driver.
|
|
|
|
The embedded controller supports RC5 protocol only, default mapping
|
|
|
|
is set to rc-hauppauge.
|
|
|
|
|
2017-04-17 17:44:35 +07:00
|
|
|
endif #CEC_PLATFORM_DRIVERS
|
2017-06-12 20:26:19 +07:00
|
|
|
|
|
|
|
menuconfig SDR_PLATFORM_DRIVERS
|
|
|
|
bool "SDR platform devices"
|
|
|
|
depends on MEDIA_SDR_SUPPORT
|
2019-03-20 17:39:44 +07:00
|
|
|
help
|
2017-06-12 20:26:19 +07:00
|
|
|
Say Y here to enable support for platform-specific SDR Drivers.
|
|
|
|
|
|
|
|
if SDR_PLATFORM_DRIVERS
|
|
|
|
|
|
|
|
config VIDEO_RCAR_DRIF
|
2019-02-19 02:29:00 +07:00
|
|
|
tristate "Renesas Digital Radio Interface (DRIF)"
|
2018-05-18 00:18:12 +07:00
|
|
|
depends on VIDEO_V4L2
|
2017-06-12 20:26:19 +07:00
|
|
|
depends on ARCH_RENESAS || COMPILE_TEST
|
|
|
|
select VIDEOBUF2_VMALLOC
|
2019-03-20 17:39:44 +07:00
|
|
|
help
|
2017-06-12 20:26:19 +07:00
|
|
|
Say Y if you want to enable R-Car Gen3 DRIF support. DRIF is Digital
|
|
|
|
Radio Interface that interfaces with an RF front end chip. It is a
|
|
|
|
receiver of digital data which uses DMA to transfer received data to
|
|
|
|
a configured location for an application to use.
|
|
|
|
|
|
|
|
To compile this driver as a module, choose M here; the module
|
|
|
|
will be called rcar_drif.
|
|
|
|
|
|
|
|
endif # SDR_PLATFORM_DRIVERS
|