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 "SuperH VOU video output driver"
37 depends on MEDIA_CAMERA_SUPPORT
38 depends on VIDEO_DEV && I2C
39 depends on ARCH_SHMOBILE || COMPILE_TEST
40 select VIDEOBUF2_DMA_CONTIG
42 Support for the Video Output Unit (VOU) on SuperH SoCs.
45 tristate "Freescale VIU Video Driver"
46 depends on VIDEO_V4L2 && (PPC_MPC512x || COMPILE_TEST) && I2C
47 select VIDEOBUF_DMA_CONTIG
50 Support for Freescale VIU video driver. This device captures
51 video data, or overlays video on DIU frame buffer.
53 Say Y here if you want to enable VIU device on MPC5121e Rev2+.
57 tristate "Video Multiplexer"
59 depends on VIDEO_V4L2 && OF && VIDEO_V4L2_SUBDEV_API && MEDIA_CONTROLLER
62 This driver provides support for N:1 video bus multiplexers.
65 tristate "OMAP 3 Camera support"
66 depends on VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API
67 depends on (ARCH_OMAP3 && OMAP_IOMMU) || COMPILE_TEST
68 depends on COMMON_CLK && 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
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 V4L2 Camera Subsystem driver"
94 depends on VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API
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
104 select VIDEOBUF2_DMA_CONTIG
106 This is a v4l2 driver for s3c24xx and s3c64xx SoC series camera
107 host interface (CAMIF).
109 To compile this driver as a module, choose M here: the module
110 will be called s3c-camif.
112 config VIDEO_STM32_DCMI
113 tristate "STM32 Digital Camera Memory Interface (DCMI) support"
114 depends on VIDEO_V4L2 && OF
115 depends on ARCH_STM32 || COMPILE_TEST
116 select VIDEOBUF2_DMA_CONTIG
119 This module makes the STM32 Digital Camera Memory Interface (DCMI)
120 available as a v4l2 device.
122 To compile this driver as a module, choose M here: the module
123 will be called stm32-dcmi.
125 config VIDEO_RENESAS_CEU
126 tristate "Renesas Capture Engine Unit (CEU) driver"
127 depends on VIDEO_DEV && VIDEO_V4L2
128 depends on ARCH_SHMOBILE || ARCH_R7S72100 || COMPILE_TEST
129 select VIDEOBUF2_DMA_CONTIG
132 This is a v4l2 driver for the Renesas CEU Interface
134 source "drivers/media/platform/soc_camera/Kconfig"
135 source "drivers/media/platform/exynos4-is/Kconfig"
136 source "drivers/media/platform/am437x/Kconfig"
137 source "drivers/media/platform/xilinx/Kconfig"
138 source "drivers/media/platform/rcar-vin/Kconfig"
139 source "drivers/media/platform/atmel/Kconfig"
142 tristate "TI CAL (Camera Adaptation Layer) driver"
143 depends on VIDEO_DEV && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API
144 depends on SOC_DRA7XX || COMPILE_TEST
145 select VIDEOBUF2_DMA_CONTIG
149 Support for the TI CAL (Camera Adaptation Layer) block
151 In TI Technical Reference Manual this module is referred as
152 Camera Interface Subsystem (CAMSS).
154 endif # V4L_PLATFORM_DRIVERS
156 menuconfig V4L_MEM2MEM_DRIVERS
157 bool "Memory-to-memory multimedia devices"
158 depends on VIDEO_V4L2
159 depends on MEDIA_CAMERA_SUPPORT
162 Say Y here to enable selecting drivers for V4L devices that
163 use system memory for both source and destination buffers, as opposed
164 to capture and output drivers, which use memory buffers for just
167 if V4L_MEM2MEM_DRIVERS
170 tristate "Chips&Media Coda multi-standard codec IP"
171 depends on VIDEO_DEV && VIDEO_V4L2 && (ARCH_MXC || COMPILE_TEST)
173 select VIDEOBUF2_DMA_CONTIG
174 select VIDEOBUF2_VMALLOC
175 select V4L2_MEM2MEM_DEV
176 select GENERIC_ALLOCATOR
178 Coda is a range of video codec IPs that supports
179 H.264, MPEG-4, and other video formats.
181 config VIDEO_IMX_VDOA
182 def_tristate VIDEO_CODA if SOC_IMX6Q || COMPILE_TEST
185 tristate "i.MX Pixel Pipeline (PXP)"
186 depends on VIDEO_DEV && VIDEO_V4L2 && (ARCH_MXC || COMPILE_TEST)
187 select VIDEOBUF2_DMA_CONTIG
188 select V4L2_MEM2MEM_DEV
190 The i.MX Pixel Pipeline is a memory-to-memory engine for scaling,
191 color space conversion, and rotation.
193 config VIDEO_MEDIATEK_JPEG
194 tristate "Mediatek JPEG Codec driver"
195 depends on MTK_IOMMU_V1 || COMPILE_TEST
196 depends on VIDEO_DEV && VIDEO_V4L2
197 depends on ARCH_MEDIATEK || COMPILE_TEST
198 select VIDEOBUF2_DMA_CONTIG
199 select V4L2_MEM2MEM_DEV
201 Mediatek jpeg codec driver provides HW capability to decode
204 To compile this driver as a module, choose M here: the
205 module will be called mtk-jpeg
207 config VIDEO_MEDIATEK_VPU
208 tristate "Mediatek Video Processor Unit"
209 depends on VIDEO_DEV && VIDEO_V4L2
210 depends on ARCH_MEDIATEK || COMPILE_TEST
212 This driver provides downloading VPU firmware and
213 communicating with VPU. This driver for hw video
214 codec embedded in Mediatek's MT8173 SOCs. It is able
215 to handle video decoding/encoding in a range of formats.
217 To compile this driver as a module, choose M here: the
218 module will be called mtk-vpu.
220 config VIDEO_MEDIATEK_MDP
221 tristate "Mediatek MDP driver"
222 depends on MTK_IOMMU || COMPILE_TEST
223 depends on VIDEO_DEV && VIDEO_V4L2
224 depends on ARCH_MEDIATEK || COMPILE_TEST
225 select VIDEOBUF2_DMA_CONTIG
226 select V4L2_MEM2MEM_DEV
227 select VIDEO_MEDIATEK_VPU
230 It is a v4l2 driver and present in Mediatek MT8173 SoCs.
231 The driver supports for scaling and color space conversion.
233 To compile this driver as a module, choose M here: the
234 module will be called mtk-mdp.
236 config VIDEO_MEDIATEK_VCODEC
237 tristate "Mediatek Video Codec driver"
238 depends on MTK_IOMMU || COMPILE_TEST
239 depends on VIDEO_DEV && VIDEO_V4L2
240 depends on ARCH_MEDIATEK || COMPILE_TEST
241 select VIDEOBUF2_DMA_CONTIG
242 select V4L2_MEM2MEM_DEV
243 select VIDEO_MEDIATEK_VPU
246 Mediatek video codec driver provides HW capability to
247 encode and decode in a range of video formats
248 This driver rely on VPU driver to communicate with VPU.
250 To compile this driver as a module, choose M here: the
251 module will be called mtk-vcodec
253 config VIDEO_MEM2MEM_DEINTERLACE
254 tristate "Deinterlace support"
255 depends on VIDEO_DEV && VIDEO_V4L2
257 select VIDEOBUF2_DMA_CONTIG
258 select V4L2_MEM2MEM_DEV
260 Generic deinterlacing V4L2 driver.
262 config VIDEO_SAMSUNG_S5P_G2D
263 tristate "Samsung S5P and EXYNOS4 G2D 2d graphics accelerator driver"
264 depends on VIDEO_DEV && VIDEO_V4L2
265 depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
266 select VIDEOBUF2_DMA_CONTIG
267 select V4L2_MEM2MEM_DEV
270 This is a v4l2 driver for Samsung S5P and EXYNOS4 G2D
271 2d graphics accelerator.
273 config VIDEO_SAMSUNG_S5P_JPEG
274 tristate "Samsung S5P/Exynos3250/Exynos4 JPEG codec driver"
275 depends on VIDEO_DEV && VIDEO_V4L2
276 depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
277 select VIDEOBUF2_DMA_CONTIG
278 select V4L2_MEM2MEM_DEV
280 This is a v4l2 driver for Samsung S5P, EXYNOS3250
281 and EXYNOS4 JPEG codec
283 config VIDEO_SAMSUNG_S5P_MFC
284 tristate "Samsung S5P MFC Video Codec"
285 depends on VIDEO_DEV && VIDEO_V4L2
286 depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
287 select VIDEOBUF2_DMA_CONTIG
290 MFC 5.1 and 6.x driver for V4L2
292 config VIDEO_MX2_EMMAPRP
293 tristate "MX2 eMMa-PrP support"
294 depends on VIDEO_DEV && VIDEO_V4L2
295 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
307 select VIDEOBUF2_DMA_CONTIG
308 select V4L2_MEM2MEM_DEV
310 This is a v4l2 driver for Samsung EXYNOS5 SoC G-Scaler.
312 config VIDEO_STI_BDISP
313 tristate "STMicroelectronics BDISP 2D blitter driver"
314 depends on VIDEO_DEV && VIDEO_V4L2
315 depends on ARCH_STI || COMPILE_TEST
316 select VIDEOBUF2_DMA_CONTIG
317 select V4L2_MEM2MEM_DEV
319 This v4l2 mem2mem driver is a 2D blitter for STMicroelectronics SoC.
322 tristate "STMicroelectronics HVA multi-format video encoder V4L2 driver"
323 depends on VIDEO_DEV && VIDEO_V4L2
324 depends on ARCH_STI || COMPILE_TEST
325 select VIDEOBUF2_DMA_CONTIG
326 select V4L2_MEM2MEM_DEV
328 This V4L2 driver enables HVA (Hardware Video Accelerator) multi-format
329 video encoder of STMicroelectronics SoC, allowing hardware encoding of
330 raw uncompressed formats in various compressed video bitstreams format.
332 To compile this driver as a module, choose M here:
333 the module will be called st-hva.
335 config VIDEO_STI_HVA_DEBUGFS
336 bool "Export STMicroelectronics HVA internals in debugfs"
337 depends on VIDEO_STI_HVA
340 Select this to see information about the internal state and the last
341 operation of STMicroelectronics HVA multi-format video encoder in
344 Choose N unless you know you need this.
346 config VIDEO_STI_DELTA
347 tristate "STMicroelectronics DELTA multi-format video decoder V4L2 driver"
348 depends on VIDEO_DEV && VIDEO_V4L2
349 depends on ARCH_STI || COMPILE_TEST
351 This V4L2 driver enables DELTA multi-format video decoder
352 of STMicroelectronics STiH4xx SoC series allowing hardware
353 decoding of various compressed video bitstream format in
354 raw uncompressed format.
356 Use this option to see the decoders available for such
359 Please notice that the driver will only be built if
360 at least one of the DELTA decoder below is selected.
364 config VIDEO_STI_DELTA_MJPEG
365 bool "STMicroelectronics DELTA MJPEG support"
368 Enables DELTA MJPEG hardware support.
370 To compile this driver as a module, choose M here:
371 the module will be called st-delta.
373 config VIDEO_STI_DELTA_DRIVER
375 depends on VIDEO_STI_DELTA
376 depends on VIDEO_STI_DELTA_MJPEG
377 default VIDEO_STI_DELTA_MJPEG
378 select VIDEOBUF2_DMA_CONTIG
379 select V4L2_MEM2MEM_DEV
382 endif # VIDEO_STI_DELTA
385 tristate "SuperH VEU mem2mem video processing driver"
386 depends on VIDEO_DEV && VIDEO_V4L2 && HAS_DMA
387 select VIDEOBUF2_DMA_CONTIG
388 select V4L2_MEM2MEM_DEV
390 Support for the Video Engine Unit (VEU) on SuperH and
393 config VIDEO_RENESAS_FDP1
394 tristate "Renesas Fine Display Processor"
395 depends on VIDEO_DEV && VIDEO_V4L2
396 depends on ARCH_RENESAS || COMPILE_TEST
397 depends on (!ARM64 && !VIDEO_RENESAS_FCP) || VIDEO_RENESAS_FCP
398 select VIDEOBUF2_DMA_CONTIG
399 select V4L2_MEM2MEM_DEV
401 This is a V4L2 driver for the Renesas Fine Display Processor
402 providing colour space conversion, and de-interlacing features.
404 To compile this driver as a module, choose M here: the module
405 will be called rcar_fdp1.
407 config VIDEO_RENESAS_JPU
408 tristate "Renesas JPEG Processing Unit"
409 depends on VIDEO_DEV && VIDEO_V4L2
410 depends on ARCH_RENESAS || COMPILE_TEST
411 select VIDEOBUF2_DMA_CONTIG
412 select V4L2_MEM2MEM_DEV
414 This is a V4L2 driver for the Renesas JPEG Processing Unit.
416 To compile this driver as a module, choose M here: the module
417 will be called rcar_jpu.
419 config VIDEO_RENESAS_FCP
420 tristate "Renesas Frame Compression Processor"
421 depends on ARCH_RENESAS || COMPILE_TEST
424 This is a driver for the Renesas Frame Compression Processor (FCP).
425 The FCP is a companion module of video processing modules in the
426 Renesas R-Car Gen3 SoCs. It handles memory access for the codec,
429 To compile this driver as a module, choose M here: the module
430 will be called rcar-fcp.
432 config VIDEO_RENESAS_VSP1
433 tristate "Renesas VSP1 Video Processing Engine"
434 depends on VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API
435 depends on ARCH_RENESAS || COMPILE_TEST
436 depends on (!ARM64 && !VIDEO_RENESAS_FCP) || VIDEO_RENESAS_FCP
437 select VIDEOBUF2_DMA_CONTIG
438 select VIDEOBUF2_VMALLOC
440 This is a V4L2 driver for the Renesas VSP1 video processing engine.
442 To compile this driver as a module, choose M here: the module
445 config VIDEO_ROCKCHIP_RGA
446 tristate "Rockchip Raster 2d Graphic Acceleration Unit"
447 depends on VIDEO_DEV && VIDEO_V4L2
448 depends on ARCH_ROCKCHIP || COMPILE_TEST
449 select VIDEOBUF2_DMA_SG
450 select V4L2_MEM2MEM_DEV
453 This is a v4l2 driver for Rockchip SOC RGA 2d graphics accelerator.
454 Rockchip RGA is a separate 2D raster graphic acceleration unit.
455 It accelerates 2D graphics operations, such as point/line drawing,
456 image scaling, rotation, BitBLT, alpha blending and image blur/sharpness.
458 To compile this driver as a module choose m here.
461 tristate "TI VPE (Video Processing Engine) driver"
462 depends on VIDEO_DEV && VIDEO_V4L2
463 depends on SOC_DRA7XX || COMPILE_TEST
464 select VIDEOBUF2_DMA_CONTIG
465 select V4L2_MEM2MEM_DEV
466 select VIDEO_TI_VPDMA
471 Support for the TI VPE(Video Processing Engine) block
474 config VIDEO_TI_VPE_DEBUG
475 bool "VPE debug messages"
476 depends on VIDEO_TI_VPE
478 Enable debug messages on VPE driver.
480 config VIDEO_QCOM_VENUS
481 tristate "Qualcomm Venus V4L2 encoder/decoder driver"
482 depends on VIDEO_DEV && VIDEO_V4L2
483 depends on (ARCH_QCOM && IOMMU_DMA) || COMPILE_TEST
484 select QCOM_MDT_LOADER if ARCH_QCOM
485 select QCOM_SCM if ARCH_QCOM
486 select VIDEOBUF2_DMA_SG
487 select V4L2_MEM2MEM_DEV
489 This is a V4L2 driver for Qualcomm Venus video accelerator
490 hardware. It accelerates encoding and decoding operations
491 on various Qualcomm SoCs.
492 To compile this driver as a module choose m here.
494 endif # V4L_MEM2MEM_DRIVERS
496 # TI VIDEO PORT Helper Modules
497 # These will be selected by VPE and VIP
498 config VIDEO_TI_VPDMA
507 menuconfig V4L_TEST_DRIVERS
508 bool "Media test drivers"
509 depends on MEDIA_CAMERA_SUPPORT
513 source "drivers/media/platform/vimc/Kconfig"
515 source "drivers/media/platform/vivid/Kconfig"
518 tristate "Virtual Memory-to-Memory Driver"
519 depends on VIDEO_DEV && VIDEO_V4L2
520 select VIDEOBUF2_VMALLOC
521 select V4L2_MEM2MEM_DEV
524 This is a virtual test device for the memory-to-memory driver
527 source "drivers/media/platform/vicodec/Kconfig"
529 endif #V4L_TEST_DRIVERS
531 menuconfig DVB_PLATFORM_DRIVERS
532 bool "DVB platform devices"
533 depends on MEDIA_DIGITAL_TV_SUPPORT
536 Say Y here to enable support for platform-specific Digital TV drivers.
538 if DVB_PLATFORM_DRIVERS
539 source "drivers/media/platform/sti/c8sectpfe/Kconfig"
540 endif #DVB_PLATFORM_DRIVERS
542 menuconfig CEC_PLATFORM_DRIVERS
543 bool "CEC platform devices"
544 depends on MEDIA_CEC_SUPPORT
546 if CEC_PLATFORM_DRIVERS
548 config VIDEO_CROS_EC_CEC
549 tristate "ChromeOS EC CEC driver"
550 depends on MFD_CROS_EC
554 If you say yes here you will get support for the
555 ChromeOS Embedded Controller's CEC.
556 The CEC bus is present in the HDMI connector and enables communication
557 between compatible devices.
559 config VIDEO_MESON_AO_CEC
560 tristate "Amlogic Meson AO CEC driver"
561 depends on ARCH_MESON || COMPILE_TEST
565 This is a driver for Amlogic Meson SoCs AO CEC interface. It uses the
566 generic CEC framework interface.
567 CEC bus is present in the HDMI connector and enables communication
570 tristate "Generic GPIO-based CEC driver"
571 depends on PREEMPT || COMPILE_TEST
576 This is a generic GPIO-based CEC driver.
577 The CEC bus is present in the HDMI connector and enables communication
578 between compatible devices.
580 config VIDEO_SAMSUNG_S5P_CEC
581 tristate "Samsung S5P CEC driver"
582 depends on ARCH_EXYNOS || COMPILE_TEST
586 This is a driver for Samsung S5P HDMI CEC interface. It uses the
587 generic CEC framework interface.
588 CEC bus is present in the HDMI connector and enables communication
589 between compatible devices.
591 config VIDEO_STI_HDMI_CEC
592 tristate "STMicroelectronics STiH4xx HDMI CEC driver"
593 depends on ARCH_STI || COMPILE_TEST
597 This is a driver for STIH4xx HDMI CEC interface. It uses the
598 generic CEC framework interface.
599 CEC bus is present in the HDMI connector and enables communication
600 between compatible devices.
602 config VIDEO_STM32_HDMI_CEC
603 tristate "STMicroelectronics STM32 HDMI CEC driver"
604 depends on ARCH_STM32 || COMPILE_TEST
609 This is a driver for STM32 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_TEGRA_HDMI_CEC
615 tristate "Tegra HDMI CEC driver"
616 depends on ARCH_TEGRA || COMPILE_TEST
620 This is a driver for the Tegra HDMI CEC interface. It uses the
621 generic CEC framework interface.
622 The CEC bus is present in the HDMI connector and enables communication
623 between compatible devices.
625 endif #CEC_PLATFORM_DRIVERS
627 menuconfig SDR_PLATFORM_DRIVERS
628 bool "SDR platform devices"
629 depends on MEDIA_SDR_SUPPORT
632 Say Y here to enable support for platform-specific SDR Drivers.
634 if SDR_PLATFORM_DRIVERS
636 config VIDEO_RCAR_DRIF
637 tristate "Renesas Digitial Radio Interface (DRIF)"
638 depends on VIDEO_V4L2
639 depends on ARCH_RENESAS || COMPILE_TEST
640 select VIDEOBUF2_VMALLOC
642 Say Y if you want to enable R-Car Gen3 DRIF support. DRIF is Digital
643 Radio Interface that interfaces with an RF front end chip. It is a
644 receiver of digital data which uses DMA to transfer received data to
645 a configured location for an application to use.
647 To compile this driver as a module, choose M here; the module
648 will be called rcar_drif.
650 endif # SDR_PLATFORM_DRIVERS