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
29 source "drivers/media/platform/cadence/Kconfig"
31 source "drivers/media/platform/davinci/Kconfig"
33 source "drivers/media/platform/omap/Kconfig"
36 tristate "Aspeed AST2400 and AST2500 Video Engine driver"
38 select VIDEOBUF2_DMA_CONTIG
40 Support for the Aspeed Video Engine (VE) embedded in the Aspeed
41 AST2400 and AST2500 SOCs. The VE can capture and compress video data
42 from digital or analog sources.
45 tristate "SuperH VOU video output driver"
46 depends on MEDIA_CAMERA_SUPPORT
47 depends on VIDEO_DEV && I2C
48 depends on ARCH_SHMOBILE || COMPILE_TEST
49 select VIDEOBUF2_DMA_CONTIG
51 Support for the Video Output Unit (VOU) on SuperH SoCs.
54 tristate "Freescale VIU Video Driver"
55 depends on VIDEO_V4L2 && (PPC_MPC512x || COMPILE_TEST) && I2C
56 select VIDEOBUF_DMA_CONTIG
59 Support for Freescale VIU video driver. This device captures
60 video data, or overlays video on DIU frame buffer.
62 Say Y here if you want to enable VIU device on MPC5121e Rev2+.
66 tristate "Video Multiplexer"
68 depends on VIDEO_V4L2 && OF && VIDEO_V4L2_SUBDEV_API && MEDIA_CONTROLLER
72 This driver provides support for N:1 video bus multiplexers.
75 tristate "OMAP 3 Camera support"
76 depends on VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API
77 depends on (ARCH_OMAP3 && OMAP_IOMMU) || COMPILE_TEST
78 depends on COMMON_CLK && OF
79 select ARM_DMA_USE_IOMMU if OMAP_IOMMU
80 select VIDEOBUF2_DMA_CONTIG
84 Driver for an OMAP 3 camera controller.
86 config VIDEO_OMAP3_DEBUG
87 bool "OMAP 3 Camera debug messages"
88 depends on VIDEO_OMAP3
90 Enable debug messages on OMAP 3 camera controller driver.
93 tristate "PXA27x Quick Capture Interface driver"
94 depends on VIDEO_DEV && VIDEO_V4L2
95 depends on PXA27x || COMPILE_TEST
96 select VIDEOBUF2_DMA_SG
100 This is a v4l2 driver for the PXA27x Quick Capture Interface
102 config VIDEO_QCOM_CAMSS
103 tristate "Qualcomm V4L2 Camera Subsystem driver"
104 depends on VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API
105 depends on (ARCH_QCOM && IOMMU_DMA) || COMPILE_TEST
106 select VIDEOBUF2_DMA_SG
109 config VIDEO_S3C_CAMIF
110 tristate "Samsung S3C24XX/S3C64XX SoC Camera Interface driver"
111 depends on VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API
113 depends on ARCH_S3C64XX || PLAT_S3C24XX || COMPILE_TEST
114 select VIDEOBUF2_DMA_CONTIG
116 This is a v4l2 driver for s3c24xx and s3c64xx SoC series camera
117 host interface (CAMIF).
119 To compile this driver as a module, choose M here: the module
120 will be called s3c-camif.
122 config VIDEO_STM32_DCMI
123 tristate "STM32 Digital Camera Memory Interface (DCMI) support"
124 depends on VIDEO_V4L2 && OF
125 depends on ARCH_STM32 || COMPILE_TEST
126 select VIDEOBUF2_DMA_CONTIG
129 This module makes the STM32 Digital Camera Memory Interface (DCMI)
130 available as a v4l2 device.
132 To compile this driver as a module, choose M here: the module
133 will be called stm32-dcmi.
135 config VIDEO_RENESAS_CEU
136 tristate "Renesas Capture Engine Unit (CEU) driver"
137 depends on VIDEO_DEV && VIDEO_V4L2
138 depends on ARCH_SHMOBILE || ARCH_R7S72100 || COMPILE_TEST
139 select VIDEOBUF2_DMA_CONTIG
142 This is a v4l2 driver for the Renesas CEU Interface
144 source "drivers/media/platform/exynos4-is/Kconfig"
145 source "drivers/media/platform/am437x/Kconfig"
146 source "drivers/media/platform/xilinx/Kconfig"
147 source "drivers/media/platform/rcar-vin/Kconfig"
148 source "drivers/media/platform/atmel/Kconfig"
149 source "drivers/media/platform/sunxi/sun6i-csi/Kconfig"
152 tristate "TI CAL (Camera Adaptation Layer) driver"
153 depends on VIDEO_DEV && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API
154 depends on SOC_DRA7XX || COMPILE_TEST
155 select VIDEOBUF2_DMA_CONTIG
159 Support for the TI CAL (Camera Adaptation Layer) block
161 In TI Technical Reference Manual this module is referred as
162 Camera Interface Subsystem (CAMSS).
164 endif # V4L_PLATFORM_DRIVERS
166 menuconfig V4L_MEM2MEM_DRIVERS
167 bool "Memory-to-memory multimedia devices"
168 depends on VIDEO_V4L2
169 depends on MEDIA_CAMERA_SUPPORT
172 Say Y here to enable selecting drivers for V4L devices that
173 use system memory for both source and destination buffers, as opposed
174 to capture and output drivers, which use memory buffers for just
177 if V4L_MEM2MEM_DRIVERS
180 tristate "Chips&Media Coda multi-standard codec IP"
181 depends on VIDEO_DEV && VIDEO_V4L2 && (ARCH_MXC || COMPILE_TEST)
183 select VIDEOBUF2_DMA_CONTIG
184 select VIDEOBUF2_VMALLOC
185 select V4L2_MEM2MEM_DEV
186 select GENERIC_ALLOCATOR
188 Coda is a range of video codec IPs that supports
189 H.264, MPEG-4, and other video formats.
191 config VIDEO_IMX_VDOA
192 def_tristate VIDEO_CODA if SOC_IMX6Q || COMPILE_TEST
195 tristate "i.MX Pixel Pipeline (PXP)"
196 depends on VIDEO_DEV && VIDEO_V4L2 && (ARCH_MXC || COMPILE_TEST)
197 select VIDEOBUF2_DMA_CONTIG
198 select V4L2_MEM2MEM_DEV
200 The i.MX Pixel Pipeline is a memory-to-memory engine for scaling,
201 color space conversion, and rotation.
203 config VIDEO_MEDIATEK_JPEG
204 tristate "Mediatek JPEG Codec driver"
205 depends on MTK_IOMMU_V1 || COMPILE_TEST
206 depends on VIDEO_DEV && VIDEO_V4L2
207 depends on ARCH_MEDIATEK || COMPILE_TEST
208 select VIDEOBUF2_DMA_CONTIG
209 select V4L2_MEM2MEM_DEV
211 Mediatek jpeg codec driver provides HW capability to decode
214 To compile this driver as a module, choose M here: the
215 module will be called mtk-jpeg
217 config VIDEO_MEDIATEK_VPU
218 tristate "Mediatek Video Processor Unit"
219 depends on VIDEO_DEV && VIDEO_V4L2
220 depends on ARCH_MEDIATEK || COMPILE_TEST
222 This driver provides downloading VPU firmware and
223 communicating with VPU. This driver for hw video
224 codec embedded in Mediatek's MT8173 SOCs. It is able
225 to handle video decoding/encoding in a range of formats.
227 To compile this driver as a module, choose M here: the
228 module will be called mtk-vpu.
230 config VIDEO_MEDIATEK_MDP
231 tristate "Mediatek MDP driver"
232 depends on MTK_IOMMU || COMPILE_TEST
233 depends on VIDEO_DEV && VIDEO_V4L2
234 depends on ARCH_MEDIATEK || COMPILE_TEST
235 select VIDEOBUF2_DMA_CONTIG
236 select V4L2_MEM2MEM_DEV
237 select VIDEO_MEDIATEK_VPU
240 It is a v4l2 driver and present in Mediatek MT8173 SoCs.
241 The driver supports for scaling and color space conversion.
243 To compile this driver as a module, choose M here: the
244 module will be called mtk-mdp.
246 config VIDEO_MEDIATEK_VCODEC
247 tristate "Mediatek Video Codec driver"
248 depends on MTK_IOMMU || COMPILE_TEST
249 depends on VIDEO_DEV && VIDEO_V4L2
250 depends on ARCH_MEDIATEK || COMPILE_TEST
251 select VIDEOBUF2_DMA_CONTIG
252 select V4L2_MEM2MEM_DEV
253 select VIDEO_MEDIATEK_VPU
256 Mediatek video codec driver provides HW capability to
257 encode and decode in a range of video formats
258 This driver rely on VPU driver to communicate with VPU.
260 To compile this driver as a module, choose M here: the
261 module will be called mtk-vcodec
263 config VIDEO_MEM2MEM_DEINTERLACE
264 tristate "Deinterlace support"
265 depends on VIDEO_DEV && VIDEO_V4L2
267 select VIDEOBUF2_DMA_CONTIG
268 select V4L2_MEM2MEM_DEV
270 Generic deinterlacing V4L2 driver.
272 config VIDEO_SAMSUNG_S5P_G2D
273 tristate "Samsung S5P and EXYNOS4 G2D 2d graphics accelerator driver"
274 depends on VIDEO_DEV && VIDEO_V4L2
275 depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
276 select VIDEOBUF2_DMA_CONTIG
277 select V4L2_MEM2MEM_DEV
280 This is a v4l2 driver for Samsung S5P and EXYNOS4 G2D
281 2d graphics accelerator.
283 config VIDEO_SAMSUNG_S5P_JPEG
284 tristate "Samsung S5P/Exynos3250/Exynos4 JPEG codec driver"
285 depends on VIDEO_DEV && VIDEO_V4L2
286 depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
287 select VIDEOBUF2_DMA_CONTIG
288 select V4L2_MEM2MEM_DEV
290 This is a v4l2 driver for Samsung S5P, EXYNOS3250
291 and EXYNOS4 JPEG codec
293 config VIDEO_SAMSUNG_S5P_MFC
294 tristate "Samsung S5P MFC Video Codec"
295 depends on VIDEO_DEV && VIDEO_V4L2
296 depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
297 select VIDEOBUF2_DMA_CONTIG
300 MFC 5.1 and 6.x driver for V4L2
302 config VIDEO_MX2_EMMAPRP
303 tristate "MX2 eMMa-PrP support"
304 depends on VIDEO_DEV && VIDEO_V4L2
305 depends on SOC_IMX27 || COMPILE_TEST
306 select VIDEOBUF2_DMA_CONTIG
307 select V4L2_MEM2MEM_DEV
309 MX2X chips have a PrP that can be used to process buffers from
310 memory to memory. Operations include resizing and format
313 config VIDEO_SAMSUNG_EXYNOS_GSC
314 tristate "Samsung Exynos G-Scaler driver"
315 depends on VIDEO_DEV && VIDEO_V4L2
316 depends on ARCH_EXYNOS || COMPILE_TEST
317 select VIDEOBUF2_DMA_CONTIG
318 select V4L2_MEM2MEM_DEV
320 This is a v4l2 driver for Samsung EXYNOS5 SoC G-Scaler.
322 config VIDEO_STI_BDISP
323 tristate "STMicroelectronics BDISP 2D blitter driver"
324 depends on VIDEO_DEV && VIDEO_V4L2
325 depends on ARCH_STI || COMPILE_TEST
326 select VIDEOBUF2_DMA_CONTIG
327 select V4L2_MEM2MEM_DEV
329 This v4l2 mem2mem driver is a 2D blitter for STMicroelectronics SoC.
332 tristate "STMicroelectronics HVA multi-format video encoder V4L2 driver"
333 depends on VIDEO_DEV && VIDEO_V4L2
334 depends on ARCH_STI || COMPILE_TEST
335 select VIDEOBUF2_DMA_CONTIG
336 select V4L2_MEM2MEM_DEV
338 This V4L2 driver enables HVA (Hardware Video Accelerator) multi-format
339 video encoder of STMicroelectronics SoC, allowing hardware encoding of
340 raw uncompressed formats in various compressed video bitstreams format.
342 To compile this driver as a module, choose M here:
343 the module will be called st-hva.
345 config VIDEO_STI_HVA_DEBUGFS
346 bool "Export STMicroelectronics HVA internals in debugfs"
347 depends on VIDEO_STI_HVA
350 Select this to see information about the internal state and the last
351 operation of STMicroelectronics HVA multi-format video encoder in
354 Choose N unless you know you need this.
356 config VIDEO_STI_DELTA
357 tristate "STMicroelectronics DELTA multi-format video decoder V4L2 driver"
358 depends on VIDEO_DEV && VIDEO_V4L2
359 depends on ARCH_STI || COMPILE_TEST
361 This V4L2 driver enables DELTA multi-format video decoder
362 of STMicroelectronics STiH4xx SoC series allowing hardware
363 decoding of various compressed video bitstream format in
364 raw uncompressed format.
366 Use this option to see the decoders available for such
369 Please notice that the driver will only be built if
370 at least one of the DELTA decoder below is selected.
374 config VIDEO_STI_DELTA_MJPEG
375 bool "STMicroelectronics DELTA MJPEG support"
378 Enables DELTA MJPEG hardware support.
380 To compile this driver as a module, choose M here:
381 the module will be called st-delta.
383 config VIDEO_STI_DELTA_DRIVER
385 depends on VIDEO_STI_DELTA
386 depends on VIDEO_STI_DELTA_MJPEG
387 default VIDEO_STI_DELTA_MJPEG
388 select VIDEOBUF2_DMA_CONTIG
389 select V4L2_MEM2MEM_DEV
392 endif # VIDEO_STI_DELTA
395 tristate "SuperH VEU mem2mem video processing driver"
396 depends on VIDEO_DEV && VIDEO_V4L2 && HAS_DMA
397 select VIDEOBUF2_DMA_CONTIG
398 select V4L2_MEM2MEM_DEV
400 Support for the Video Engine Unit (VEU) on SuperH and
403 config VIDEO_RENESAS_FDP1
404 tristate "Renesas Fine Display Processor"
405 depends on VIDEO_DEV && VIDEO_V4L2
406 depends on ARCH_RENESAS || COMPILE_TEST
407 depends on (!ARM64 && !VIDEO_RENESAS_FCP) || VIDEO_RENESAS_FCP
408 select VIDEOBUF2_DMA_CONTIG
409 select V4L2_MEM2MEM_DEV
411 This is a V4L2 driver for the Renesas Fine Display Processor
412 providing colour space conversion, and de-interlacing features.
414 To compile this driver as a module, choose M here: the module
415 will be called rcar_fdp1.
417 config VIDEO_RENESAS_JPU
418 tristate "Renesas JPEG Processing Unit"
419 depends on VIDEO_DEV && VIDEO_V4L2
420 depends on ARCH_RENESAS || COMPILE_TEST
421 select VIDEOBUF2_DMA_CONTIG
422 select V4L2_MEM2MEM_DEV
424 This is a V4L2 driver for the Renesas JPEG Processing Unit.
426 To compile this driver as a module, choose M here: the module
427 will be called rcar_jpu.
429 config VIDEO_RENESAS_FCP
430 tristate "Renesas Frame Compression Processor"
431 depends on ARCH_RENESAS || COMPILE_TEST
434 This is a driver for the Renesas Frame Compression Processor (FCP).
435 The FCP is a companion module of video processing modules in the
436 Renesas R-Car Gen3 SoCs. It handles memory access for the codec,
439 To compile this driver as a module, choose M here: the module
440 will be called rcar-fcp.
442 config VIDEO_RENESAS_VSP1
443 tristate "Renesas VSP1 Video Processing Engine"
444 depends on VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API
445 depends on ARCH_RENESAS || COMPILE_TEST
446 depends on (!ARM64 && !VIDEO_RENESAS_FCP) || VIDEO_RENESAS_FCP
447 select VIDEOBUF2_DMA_CONTIG
448 select VIDEOBUF2_VMALLOC
450 This is a V4L2 driver for the Renesas VSP1 video processing engine.
452 To compile this driver as a module, choose M here: the module
455 config VIDEO_ROCKCHIP_RGA
456 tristate "Rockchip Raster 2d Graphic Acceleration Unit"
457 depends on VIDEO_DEV && VIDEO_V4L2
458 depends on ARCH_ROCKCHIP || COMPILE_TEST
459 select VIDEOBUF2_DMA_SG
460 select V4L2_MEM2MEM_DEV
463 This is a v4l2 driver for Rockchip SOC RGA 2d graphics accelerator.
464 Rockchip RGA is a separate 2D raster graphic acceleration unit.
465 It accelerates 2D graphics operations, such as point/line drawing,
466 image scaling, rotation, BitBLT, alpha blending and image blur/sharpness.
468 To compile this driver as a module choose m here.
471 tristate "TI VPE (Video Processing Engine) driver"
472 depends on VIDEO_DEV && VIDEO_V4L2
473 depends on SOC_DRA7XX || COMPILE_TEST
474 select VIDEOBUF2_DMA_CONTIG
475 select V4L2_MEM2MEM_DEV
476 select VIDEO_TI_VPDMA
481 Support for the TI VPE(Video Processing Engine) block
484 config VIDEO_TI_VPE_DEBUG
485 bool "VPE debug messages"
486 depends on VIDEO_TI_VPE
488 Enable debug messages on VPE driver.
490 config VIDEO_QCOM_VENUS
491 tristate "Qualcomm Venus V4L2 encoder/decoder driver"
492 depends on VIDEO_DEV && VIDEO_V4L2
493 depends on (ARCH_QCOM && IOMMU_DMA) || COMPILE_TEST
494 select QCOM_MDT_LOADER if ARCH_QCOM
495 select QCOM_SCM if ARCH_QCOM
496 select VIDEOBUF2_DMA_SG
497 select V4L2_MEM2MEM_DEV
499 This is a V4L2 driver for Qualcomm Venus video accelerator
500 hardware. It accelerates encoding and decoding operations
501 on various Qualcomm SoCs.
502 To compile this driver as a module choose m here.
504 endif # V4L_MEM2MEM_DRIVERS
506 # TI VIDEO PORT Helper Modules
507 # These will be selected by VPE and VIP
508 config VIDEO_TI_VPDMA
517 menuconfig V4L_TEST_DRIVERS
518 bool "Media test drivers"
519 depends on MEDIA_CAMERA_SUPPORT
523 source "drivers/media/platform/vimc/Kconfig"
525 source "drivers/media/platform/vivid/Kconfig"
528 tristate "Virtual Memory-to-Memory Driver"
529 depends on VIDEO_DEV && VIDEO_V4L2
530 select VIDEOBUF2_VMALLOC
531 select V4L2_MEM2MEM_DEV
534 This is a virtual test device for the memory-to-memory driver
537 source "drivers/media/platform/vicodec/Kconfig"
539 endif #V4L_TEST_DRIVERS
541 menuconfig DVB_PLATFORM_DRIVERS
542 bool "DVB platform devices"
543 depends on MEDIA_DIGITAL_TV_SUPPORT
546 Say Y here to enable support for platform-specific Digital TV drivers.
548 if DVB_PLATFORM_DRIVERS
549 source "drivers/media/platform/sti/c8sectpfe/Kconfig"
550 endif #DVB_PLATFORM_DRIVERS
552 menuconfig CEC_PLATFORM_DRIVERS
553 bool "CEC platform devices"
554 depends on MEDIA_CEC_SUPPORT
556 if CEC_PLATFORM_DRIVERS
558 config VIDEO_CROS_EC_CEC
559 tristate "ChromeOS EC CEC driver"
560 depends on MFD_CROS_EC
563 select CHROME_PLATFORMS
566 If you say yes here you will get support for the
567 ChromeOS Embedded Controller's CEC.
568 The CEC bus is present in the HDMI connector and enables communication
569 between compatible devices.
571 config VIDEO_MESON_AO_CEC
572 tristate "Amlogic Meson AO CEC driver"
573 depends on ARCH_MESON || COMPILE_TEST
577 This is a driver for Amlogic Meson SoCs AO CEC interface. It uses the
578 generic CEC framework interface.
579 CEC bus is present in the HDMI connector and enables communication
582 tristate "Generic GPIO-based CEC driver"
583 depends on PREEMPT || COMPILE_TEST
588 This is a generic GPIO-based CEC driver.
589 The CEC bus is present in the HDMI connector and enables communication
590 between compatible devices.
592 config VIDEO_SAMSUNG_S5P_CEC
593 tristate "Samsung S5P CEC driver"
594 depends on ARCH_EXYNOS || COMPILE_TEST
598 This is a driver for Samsung S5P HDMI CEC interface. It uses the
599 generic CEC framework interface.
600 CEC bus is present in the HDMI connector and enables communication
601 between compatible devices.
603 config VIDEO_STI_HDMI_CEC
604 tristate "STMicroelectronics STiH4xx HDMI CEC driver"
605 depends on ARCH_STI || COMPILE_TEST
609 This is a driver for STIH4xx HDMI CEC interface. It uses the
610 generic CEC framework interface.
611 CEC bus is present in the HDMI connector and enables communication
612 between compatible devices.
614 config VIDEO_STM32_HDMI_CEC
615 tristate "STMicroelectronics STM32 HDMI CEC driver"
616 depends on ARCH_STM32 || COMPILE_TEST
621 This is a driver for STM32 interface. It uses the
622 generic CEC framework interface.
623 CEC bus is present in the HDMI connector and enables communication
624 between compatible devices.
626 config VIDEO_TEGRA_HDMI_CEC
627 tristate "Tegra HDMI CEC driver"
628 depends on ARCH_TEGRA || COMPILE_TEST
632 This is a driver for the Tegra HDMI CEC interface. It uses the
633 generic CEC framework interface.
634 The CEC bus is present in the HDMI connector and enables communication
635 between compatible devices.
637 config VIDEO_SECO_CEC
638 tristate "SECO Boards HDMI CEC driver"
639 depends on (X86 || IA64) || COMPILE_TEST
640 depends on PCI && DMI
644 This is a driver for SECO Boards integrated CEC interface.
645 Selecting it will enable support for this device.
646 CEC bus is present in the HDMI connector and enables communication
647 between compatible devices.
650 bool "SECO Boards IR RC5 support"
651 depends on VIDEO_SECO_CEC
654 If you say yes here you will get support for the
655 SECO Boards Consumer-IR in seco-cec driver.
656 The embedded controller supports RC5 protocol only, default mapping
657 is set to rc-hauppauge.
659 endif #CEC_PLATFORM_DRIVERS
661 menuconfig SDR_PLATFORM_DRIVERS
662 bool "SDR platform devices"
663 depends on MEDIA_SDR_SUPPORT
666 Say Y here to enable support for platform-specific SDR Drivers.
668 if SDR_PLATFORM_DRIVERS
670 config VIDEO_RCAR_DRIF
671 tristate "Renesas Digital Radio Interface (DRIF)"
672 depends on VIDEO_V4L2
673 depends on ARCH_RENESAS || COMPILE_TEST
674 select VIDEOBUF2_VMALLOC
676 Say Y if you want to enable R-Car Gen3 DRIF support. DRIF is Digital
677 Radio Interface that interfaces with an RF front end chip. It is a
678 receiver of digital data which uses DMA to transfer received data to
679 a configured location for an application to use.
681 To compile this driver as a module, choose M here; the module
682 will be called rcar_drif.
684 endif # SDR_PLATFORM_DRIVERS