3 # Most drivers here are currently for webcam support
5 menuconfig V4L_PLATFORM_DRIVERS
6 bool "V4L platform devices"
7 depends on MEDIA_CAMERA_SUPPORT
10 Say Y here to enable support for platform-specific V4L drivers.
12 if V4L_PLATFORM_DRIVERS
14 source "drivers/media/platform/marvell-ccic/Kconfig"
16 config VIDEO_VIA_CAMERA
17 tristate "VIAFB camera controller support"
19 select VIDEOBUF_DMA_SG
22 Driver support for the integrated camera controller in VIA
23 Chrome9 chipsets. Currently only tested on OLPC xo-1.5 systems
27 # Platform multimedia device configuration
30 source "drivers/media/platform/davinci/Kconfig"
32 source "drivers/media/platform/omap/Kconfig"
35 tristate "SuperH VOU video output driver"
36 depends on MEDIA_CAMERA_SUPPORT
37 depends on VIDEO_DEV && I2C && HAS_DMA
38 depends on ARCH_SHMOBILE || COMPILE_TEST
39 select VIDEOBUF2_DMA_CONTIG
41 Support for the Video Output Unit (VOU) on SuperH SoCs.
44 tristate "Freescale VIU Video Driver"
45 depends on VIDEO_V4L2 && (PPC_MPC512x || COMPILE_TEST)
46 select VIDEOBUF_DMA_CONTIG
49 Support for Freescale VIU video driver. This device captures
50 video data, or overlays video on DIU frame buffer.
52 Say Y here if you want to enable VIU device on MPC5121e Rev2+.
56 tristate "Video Multiplexer"
58 depends on VIDEO_V4L2 && OF && VIDEO_V4L2_SUBDEV_API && MEDIA_CONTROLLER
61 This driver provides support for N:1 video bus multiplexers.
64 tristate "OMAP 3 Camera support"
65 depends on VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API
66 depends on (ARCH_OMAP3 && OMAP_IOMMU) || COMPILE_TEST
68 depends on HAS_DMA && OF
69 select ARM_DMA_USE_IOMMU if OMAP_IOMMU
70 select VIDEOBUF2_DMA_CONTIG
74 Driver for an OMAP 3 camera controller.
76 config VIDEO_OMAP3_DEBUG
77 bool "OMAP 3 Camera debug messages"
78 depends on VIDEO_OMAP3
80 Enable debug messages on OMAP 3 camera controller driver.
83 tristate "PXA27x Quick Capture Interface driver"
84 depends on VIDEO_DEV && VIDEO_V4L2 && HAS_DMA
85 depends on PXA27x || COMPILE_TEST
86 select VIDEOBUF2_DMA_SG
90 This is a v4l2 driver for the PXA27x Quick Capture Interface
92 config VIDEO_QCOM_CAMSS
93 tristate "Qualcomm 8x16 V4L2 Camera Subsystem driver"
94 depends on VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API && HAS_DMA
95 depends on (ARCH_QCOM && IOMMU_DMA) || COMPILE_TEST
96 select VIDEOBUF2_DMA_SG
99 config VIDEO_S3C_CAMIF
100 tristate "Samsung S3C24XX/S3C64XX SoC Camera Interface driver"
101 depends on VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API
103 depends on ARCH_S3C64XX || PLAT_S3C24XX || COMPILE_TEST
105 select VIDEOBUF2_DMA_CONTIG
107 This is a v4l2 driver for s3c24xx and s3c64xx SoC series camera
108 host interface (CAMIF).
110 To compile this driver as a module, choose M here: the module
111 will be called s3c-camif.
113 config VIDEO_STM32_DCMI
114 tristate "STM32 Digital Camera Memory Interface (DCMI) support"
115 depends on VIDEO_V4L2 && OF && HAS_DMA
116 depends on ARCH_STM32 || COMPILE_TEST
117 select VIDEOBUF2_DMA_CONTIG
120 This module makes the STM32 Digital Camera Memory Interface (DCMI)
121 available as a v4l2 device.
123 To compile this driver as a module, choose M here: the module
124 will be called stm32-dcmi.
126 config VIDEO_RENESAS_CEU
127 tristate "Renesas Capture Engine Unit (CEU) driver"
128 depends on VIDEO_DEV && VIDEO_V4L2 && HAS_DMA
129 depends on ARCH_SHMOBILE || ARCH_R7S72100 || COMPILE_TEST
130 select VIDEOBUF2_DMA_CONTIG
133 This is a v4l2 driver for the Renesas CEU Interface
135 source "drivers/media/platform/soc_camera/Kconfig"
136 source "drivers/media/platform/exynos4-is/Kconfig"
137 source "drivers/media/platform/am437x/Kconfig"
138 source "drivers/media/platform/xilinx/Kconfig"
139 source "drivers/media/platform/rcar-vin/Kconfig"
140 source "drivers/media/platform/atmel/Kconfig"
143 tristate "TI CAL (Camera Adaptation Layer) driver"
144 depends on VIDEO_DEV && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API
145 depends on SOC_DRA7XX || COMPILE_TEST
147 select VIDEOBUF2_DMA_CONTIG
151 Support for the TI CAL (Camera Adaptation Layer) block
153 In TI Technical Reference Manual this module is referred as
154 Camera Interface Subsystem (CAMSS).
156 endif # V4L_PLATFORM_DRIVERS
158 menuconfig V4L_MEM2MEM_DRIVERS
159 bool "Memory-to-memory multimedia devices"
160 depends on VIDEO_V4L2
161 depends on MEDIA_CAMERA_SUPPORT
164 Say Y here to enable selecting drivers for V4L devices that
165 use system memory for both source and destination buffers, as opposed
166 to capture and output drivers, which use memory buffers for just
169 if V4L_MEM2MEM_DRIVERS
172 tristate "Chips&Media Coda multi-standard codec IP"
173 depends on VIDEO_DEV && VIDEO_V4L2 && (ARCH_MXC || COMPILE_TEST)
176 select VIDEOBUF2_DMA_CONTIG
177 select VIDEOBUF2_VMALLOC
178 select V4L2_MEM2MEM_DEV
179 select GENERIC_ALLOCATOR
181 Coda is a range of video codec IPs that supports
182 H.264, MPEG-4, and other video formats.
184 config VIDEO_IMX_VDOA
185 def_tristate VIDEO_CODA if SOC_IMX6Q || COMPILE_TEST
187 config VIDEO_MEDIATEK_JPEG
188 tristate "Mediatek JPEG Codec driver"
189 depends on MTK_IOMMU_V1 || COMPILE_TEST
190 depends on VIDEO_DEV && VIDEO_V4L2
191 depends on ARCH_MEDIATEK || COMPILE_TEST
193 select VIDEOBUF2_DMA_CONTIG
194 select V4L2_MEM2MEM_DEV
196 Mediatek jpeg codec driver provides HW capability to decode
199 To compile this driver as a module, choose M here: the
200 module will be called mtk-jpeg
202 config VIDEO_MEDIATEK_VPU
203 tristate "Mediatek Video Processor Unit"
204 depends on VIDEO_DEV && VIDEO_V4L2 && HAS_DMA
205 depends on ARCH_MEDIATEK || COMPILE_TEST
207 This driver provides downloading VPU firmware and
208 communicating with VPU. This driver for hw video
209 codec embedded in Mediatek's MT8173 SOCs. It is able
210 to handle video decoding/encoding in a range of formats.
212 To compile this driver as a module, choose M here: the
213 module will be called mtk-vpu.
215 config VIDEO_MEDIATEK_MDP
216 tristate "Mediatek MDP driver"
217 depends on MTK_IOMMU || COMPILE_TEST
218 depends on VIDEO_DEV && VIDEO_V4L2
219 depends on ARCH_MEDIATEK || COMPILE_TEST
221 select VIDEOBUF2_DMA_CONTIG
222 select V4L2_MEM2MEM_DEV
223 select VIDEO_MEDIATEK_VPU
226 It is a v4l2 driver and present in Mediatek MT8173 SoCs.
227 The driver supports for scaling and color space conversion.
229 To compile this driver as a module, choose M here: the
230 module will be called mtk-mdp.
232 config VIDEO_MEDIATEK_VCODEC
233 tristate "Mediatek Video Codec driver"
234 depends on MTK_IOMMU || COMPILE_TEST
235 depends on VIDEO_DEV && VIDEO_V4L2 && HAS_DMA
236 depends on ARCH_MEDIATEK || COMPILE_TEST
237 select VIDEOBUF2_DMA_CONTIG
238 select V4L2_MEM2MEM_DEV
239 select VIDEO_MEDIATEK_VPU
242 Mediatek video codec driver provides HW capability to
243 encode and decode in a range of video formats
244 This driver rely on VPU driver to communicate with VPU.
246 To compile this driver as a module, choose M here: the
247 module will be called mtk-vcodec
249 config VIDEO_MEM2MEM_DEINTERLACE
250 tristate "Deinterlace support"
251 depends on VIDEO_DEV && VIDEO_V4L2 && DMA_ENGINE
253 select VIDEOBUF2_DMA_CONTIG
254 select V4L2_MEM2MEM_DEV
256 Generic deinterlacing V4L2 driver.
258 config VIDEO_SAMSUNG_S5P_G2D
259 tristate "Samsung S5P and EXYNOS4 G2D 2d graphics accelerator driver"
260 depends on VIDEO_DEV && VIDEO_V4L2
261 depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
263 select VIDEOBUF2_DMA_CONTIG
264 select V4L2_MEM2MEM_DEV
267 This is a v4l2 driver for Samsung S5P and EXYNOS4 G2D
268 2d graphics accelerator.
270 config VIDEO_SAMSUNG_S5P_JPEG
271 tristate "Samsung S5P/Exynos3250/Exynos4 JPEG codec driver"
272 depends on VIDEO_DEV && VIDEO_V4L2
273 depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
275 select VIDEOBUF2_DMA_CONTIG
276 select V4L2_MEM2MEM_DEV
278 This is a v4l2 driver for Samsung S5P, EXYNOS3250
279 and EXYNOS4 JPEG codec
281 config VIDEO_SAMSUNG_S5P_MFC
282 tristate "Samsung S5P MFC Video Codec"
283 depends on VIDEO_DEV && VIDEO_V4L2
284 depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
286 select VIDEOBUF2_DMA_CONTIG
289 MFC 5.1 and 6.x driver for V4L2
291 config VIDEO_MX2_EMMAPRP
292 tristate "MX2 eMMa-PrP support"
293 depends on VIDEO_DEV && VIDEO_V4L2
294 depends on SOC_IMX27 || COMPILE_TEST
296 select VIDEOBUF2_DMA_CONTIG
297 select V4L2_MEM2MEM_DEV
299 MX2X chips have a PrP that can be used to process buffers from
300 memory to memory. Operations include resizing and format
303 config VIDEO_SAMSUNG_EXYNOS_GSC
304 tristate "Samsung Exynos G-Scaler driver"
305 depends on VIDEO_DEV && VIDEO_V4L2
306 depends on ARCH_EXYNOS || COMPILE_TEST
308 select VIDEOBUF2_DMA_CONTIG
309 select V4L2_MEM2MEM_DEV
311 This is a v4l2 driver for Samsung EXYNOS5 SoC G-Scaler.
313 config VIDEO_STI_BDISP
314 tristate "STMicroelectronics BDISP 2D blitter driver"
315 depends on VIDEO_DEV && VIDEO_V4L2
317 depends on ARCH_STI || COMPILE_TEST
318 select VIDEOBUF2_DMA_CONTIG
319 select V4L2_MEM2MEM_DEV
321 This v4l2 mem2mem driver is a 2D blitter for STMicroelectronics SoC.
324 tristate "STMicroelectronics HVA multi-format video encoder V4L2 driver"
325 depends on VIDEO_DEV && VIDEO_V4L2
327 depends on ARCH_STI || COMPILE_TEST
328 select VIDEOBUF2_DMA_CONTIG
329 select V4L2_MEM2MEM_DEV
331 This V4L2 driver enables HVA (Hardware Video Accelerator) multi-format
332 video encoder of STMicroelectronics SoC, allowing hardware encoding of
333 raw uncompressed formats in various compressed video bitstreams format.
335 To compile this driver as a module, choose M here:
336 the module will be called st-hva.
338 config VIDEO_STI_HVA_DEBUGFS
339 bool "Export STMicroelectronics HVA internals in debugfs"
340 depends on VIDEO_STI_HVA
343 Select this to see information about the internal state and the last
344 operation of STMicroelectronics HVA multi-format video encoder in
347 Choose N unless you know you need this.
349 config VIDEO_STI_DELTA
350 tristate "STMicroelectronics DELTA multi-format video decoder V4L2 driver"
351 depends on VIDEO_DEV && VIDEO_V4L2
352 depends on ARCH_STI || COMPILE_TEST
355 This V4L2 driver enables DELTA multi-format video decoder
356 of STMicroelectronics STiH4xx SoC series allowing hardware
357 decoding of various compressed video bitstream format in
358 raw uncompressed format.
360 Use this option to see the decoders available for such
363 Please notice that the driver will only be built if
364 at least one of the DELTA decoder below is selected.
368 config VIDEO_STI_DELTA_MJPEG
369 bool "STMicroelectronics DELTA MJPEG support"
372 Enables DELTA MJPEG hardware support.
374 To compile this driver as a module, choose M here:
375 the module will be called st-delta.
377 config VIDEO_STI_DELTA_DRIVER
379 depends on VIDEO_STI_DELTA
380 depends on VIDEO_STI_DELTA_MJPEG
381 default VIDEO_STI_DELTA_MJPEG
382 select VIDEOBUF2_DMA_CONTIG
383 select V4L2_MEM2MEM_DEV
386 endif # VIDEO_STI_DELTA
389 tristate "SuperH VEU mem2mem video processing driver"
390 depends on VIDEO_DEV && VIDEO_V4L2 && HAS_DMA
391 select VIDEOBUF2_DMA_CONTIG
392 select V4L2_MEM2MEM_DEV
394 Support for the Video Engine Unit (VEU) on SuperH and
397 config VIDEO_RENESAS_FDP1
398 tristate "Renesas Fine Display Processor"
399 depends on VIDEO_DEV && VIDEO_V4L2 && HAS_DMA
400 depends on ARCH_SHMOBILE || COMPILE_TEST
401 depends on (!ARCH_RENESAS && !VIDEO_RENESAS_FCP) || VIDEO_RENESAS_FCP
402 select VIDEOBUF2_DMA_CONTIG
403 select V4L2_MEM2MEM_DEV
405 This is a V4L2 driver for the Renesas Fine Display Processor
406 providing colour space conversion, and de-interlacing features.
408 To compile this driver as a module, choose M here: the module
409 will be called rcar_fdp1.
411 config VIDEO_RENESAS_JPU
412 tristate "Renesas JPEG Processing Unit"
413 depends on VIDEO_DEV && VIDEO_V4L2 && HAS_DMA
414 depends on ARCH_RENESAS || COMPILE_TEST
415 select VIDEOBUF2_DMA_CONTIG
416 select V4L2_MEM2MEM_DEV
418 This is a V4L2 driver for the Renesas JPEG Processing Unit.
420 To compile this driver as a module, choose M here: the module
421 will be called rcar_jpu.
423 config VIDEO_RENESAS_FCP
424 tristate "Renesas Frame Compression Processor"
425 depends on ARCH_RENESAS || COMPILE_TEST
428 This is a driver for the Renesas Frame Compression Processor (FCP).
429 The FCP is a companion module of video processing modules in the
430 Renesas R-Car Gen3 SoCs. It handles memory access for the codec,
433 To compile this driver as a module, choose M here: the module
434 will be called rcar-fcp.
436 config VIDEO_RENESAS_VSP1
437 tristate "Renesas VSP1 Video Processing Engine"
438 depends on VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API && HAS_DMA
439 depends on (ARCH_RENESAS && OF) || COMPILE_TEST
440 depends on (!ARM64 && !VIDEO_RENESAS_FCP) || VIDEO_RENESAS_FCP
441 select VIDEOBUF2_DMA_CONTIG
442 select VIDEOBUF2_VMALLOC
444 This is a V4L2 driver for the Renesas VSP1 video processing engine.
446 To compile this driver as a module, choose M here: the module
449 config VIDEO_ROCKCHIP_RGA
450 tristate "Rockchip Raster 2d Graphic Acceleration Unit"
451 depends on VIDEO_DEV && VIDEO_V4L2 && HAS_DMA
452 depends on ARCH_ROCKCHIP || COMPILE_TEST
453 select VIDEOBUF2_DMA_SG
454 select V4L2_MEM2MEM_DEV
457 This is a v4l2 driver for Rockchip SOC RGA 2d graphics accelerator.
458 Rockchip RGA is a separate 2D raster graphic acceleration unit.
459 It accelerates 2D graphics operations, such as point/line drawing,
460 image scaling, rotation, BitBLT, alpha blending and image blur/sharpness.
462 To compile this driver as a module choose m here.
465 tristate "TI VPE (Video Processing Engine) driver"
466 depends on VIDEO_DEV && VIDEO_V4L2
467 depends on SOC_DRA7XX || COMPILE_TEST
469 select VIDEOBUF2_DMA_CONTIG
470 select V4L2_MEM2MEM_DEV
471 select VIDEO_TI_VPDMA
476 Support for the TI VPE(Video Processing Engine) block
479 config VIDEO_TI_VPE_DEBUG
480 bool "VPE debug messages"
481 depends on VIDEO_TI_VPE
483 Enable debug messages on VPE driver.
485 config VIDEO_QCOM_VENUS
486 tristate "Qualcomm Venus V4L2 encoder/decoder driver"
487 depends on VIDEO_DEV && VIDEO_V4L2 && HAS_DMA
488 depends on (ARCH_QCOM && IOMMU_DMA) || COMPILE_TEST
489 select QCOM_MDT_LOADER if ARCH_QCOM
490 select QCOM_SCM if ARCH_QCOM
491 select VIDEOBUF2_DMA_SG
492 select V4L2_MEM2MEM_DEV
494 This is a V4L2 driver for Qualcomm Venus video accelerator
495 hardware. It accelerates encoding and decoding operations
496 on various Qualcomm SoCs.
497 To compile this driver as a module choose m here.
499 endif # V4L_MEM2MEM_DRIVERS
501 # TI VIDEO PORT Helper Modules
502 # These will be selected by VPE and VIP
503 config VIDEO_TI_VPDMA
512 menuconfig V4L_TEST_DRIVERS
513 bool "Media test drivers"
514 depends on MEDIA_CAMERA_SUPPORT
518 source "drivers/media/platform/vimc/Kconfig"
520 source "drivers/media/platform/vivid/Kconfig"
523 tristate "Virtual Memory-to-Memory Driver"
524 depends on VIDEO_DEV && VIDEO_V4L2
525 select VIDEOBUF2_VMALLOC
526 select V4L2_MEM2MEM_DEV
529 This is a virtual test device for the memory-to-memory driver
531 endif #V4L_TEST_DRIVERS
533 menuconfig DVB_PLATFORM_DRIVERS
534 bool "DVB platform devices"
535 depends on MEDIA_DIGITAL_TV_SUPPORT
538 Say Y here to enable support for platform-specific Digital TV drivers.
540 if DVB_PLATFORM_DRIVERS
541 source "drivers/media/platform/sti/c8sectpfe/Kconfig"
542 endif #DVB_PLATFORM_DRIVERS
544 menuconfig CEC_PLATFORM_DRIVERS
545 bool "CEC platform devices"
546 depends on MEDIA_CEC_SUPPORT
548 if CEC_PLATFORM_DRIVERS
550 config VIDEO_MESON_AO_CEC
551 tristate "Amlogic Meson AO CEC driver"
552 depends on ARCH_MESON || COMPILE_TEST
556 This is a driver for Amlogic Meson SoCs AO CEC interface. It uses the
557 generic CEC framework interface.
558 CEC bus is present in the HDMI connector and enables communication
561 tristate "Generic GPIO-based CEC driver"
562 depends on PREEMPT || COMPILE_TEST
567 This is a generic GPIO-based CEC driver.
568 The CEC bus is present in the HDMI connector and enables communication
569 between compatible devices.
571 config VIDEO_SAMSUNG_S5P_CEC
572 tristate "Samsung S5P CEC driver"
573 depends on ARCH_EXYNOS || COMPILE_TEST
577 This is a driver for Samsung S5P HDMI CEC interface. It uses the
578 generic CEC framework interface.
579 CEC bus is present in the HDMI connector and enables communication
580 between compatible devices.
582 config VIDEO_STI_HDMI_CEC
583 tristate "STMicroelectronics STiH4xx HDMI CEC driver"
584 depends on ARCH_STI || COMPILE_TEST
588 This is a driver for STIH4xx HDMI CEC interface. It uses the
589 generic CEC framework interface.
590 CEC bus is present in the HDMI connector and enables communication
591 between compatible devices.
593 config VIDEO_STM32_HDMI_CEC
594 tristate "STMicroelectronics STM32 HDMI CEC driver"
595 depends on ARCH_STM32 || COMPILE_TEST
600 This is a driver for STM32 interface. It uses the
601 generic CEC framework interface.
602 CEC bus is present in the HDMI connector and enables communication
603 between compatible devices.
605 config VIDEO_TEGRA_HDMI_CEC
606 tristate "Tegra HDMI CEC driver"
607 depends on ARCH_TEGRA || COMPILE_TEST
611 This is a driver for the Tegra HDMI CEC interface. It uses the
612 generic CEC framework interface.
613 The CEC bus is present in the HDMI connector and enables communication
614 between compatible devices.
616 endif #CEC_PLATFORM_DRIVERS
618 menuconfig SDR_PLATFORM_DRIVERS
619 bool "SDR platform devices"
620 depends on MEDIA_SDR_SUPPORT
623 Say Y here to enable support for platform-specific SDR Drivers.
625 if SDR_PLATFORM_DRIVERS
627 config VIDEO_RCAR_DRIF
628 tristate "Renesas Digitial Radio Interface (DRIF)"
629 depends on VIDEO_V4L2 && HAS_DMA
630 depends on ARCH_RENESAS || COMPILE_TEST
631 select VIDEOBUF2_VMALLOC
633 Say Y if you want to enable R-Car Gen3 DRIF support. DRIF is Digital
634 Radio Interface that interfaces with an RF front end chip. It is a
635 receiver of digital data which uses DMA to transfer received data to
636 a configured location for an application to use.
638 To compile this driver as a module, choose M here; the module
639 will be called rcar_drif.
641 endif # SDR_PLATFORM_DRIVERS