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
63 This driver provides support for N:1 video bus multiplexers.
66 tristate "OMAP 3 Camera support"
67 depends on VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API
68 depends on (ARCH_OMAP3 && OMAP_IOMMU) || COMPILE_TEST
69 depends on COMMON_CLK && OF
70 select ARM_DMA_USE_IOMMU if OMAP_IOMMU
71 select VIDEOBUF2_DMA_CONTIG
75 Driver for an OMAP 3 camera controller.
77 config VIDEO_OMAP3_DEBUG
78 bool "OMAP 3 Camera debug messages"
79 depends on VIDEO_OMAP3
81 Enable debug messages on OMAP 3 camera controller driver.
84 tristate "PXA27x Quick Capture Interface driver"
85 depends on VIDEO_DEV && VIDEO_V4L2
86 depends on PXA27x || COMPILE_TEST
87 select VIDEOBUF2_DMA_SG
91 This is a v4l2 driver for the PXA27x Quick Capture Interface
93 config VIDEO_QCOM_CAMSS
94 tristate "Qualcomm V4L2 Camera Subsystem driver"
95 depends on VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API
96 depends on (ARCH_QCOM && IOMMU_DMA) || COMPILE_TEST
97 select VIDEOBUF2_DMA_SG
100 config VIDEO_S3C_CAMIF
101 tristate "Samsung S3C24XX/S3C64XX SoC Camera Interface driver"
102 depends on VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API
104 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
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
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
146 select VIDEOBUF2_DMA_CONTIG
150 Support for the TI CAL (Camera Adaptation Layer) block
152 In TI Technical Reference Manual this module is referred as
153 Camera Interface Subsystem (CAMSS).
155 endif # V4L_PLATFORM_DRIVERS
157 menuconfig V4L_MEM2MEM_DRIVERS
158 bool "Memory-to-memory multimedia devices"
159 depends on VIDEO_V4L2
160 depends on MEDIA_CAMERA_SUPPORT
163 Say Y here to enable selecting drivers for V4L devices that
164 use system memory for both source and destination buffers, as opposed
165 to capture and output drivers, which use memory buffers for just
168 if V4L_MEM2MEM_DRIVERS
171 tristate "Chips&Media Coda multi-standard codec IP"
172 depends on VIDEO_DEV && VIDEO_V4L2 && (ARCH_MXC || COMPILE_TEST)
174 select VIDEOBUF2_DMA_CONTIG
175 select VIDEOBUF2_VMALLOC
176 select V4L2_MEM2MEM_DEV
177 select GENERIC_ALLOCATOR
179 Coda is a range of video codec IPs that supports
180 H.264, MPEG-4, and other video formats.
182 config VIDEO_IMX_VDOA
183 def_tristate VIDEO_CODA if SOC_IMX6Q || COMPILE_TEST
186 tristate "i.MX Pixel Pipeline (PXP)"
187 depends on VIDEO_DEV && VIDEO_V4L2 && (ARCH_MXC || COMPILE_TEST)
188 select VIDEOBUF2_DMA_CONTIG
189 select V4L2_MEM2MEM_DEV
191 The i.MX Pixel Pipeline is a memory-to-memory engine for scaling,
192 color space conversion, and rotation.
194 config VIDEO_MEDIATEK_JPEG
195 tristate "Mediatek JPEG Codec driver"
196 depends on MTK_IOMMU_V1 || COMPILE_TEST
197 depends on VIDEO_DEV && VIDEO_V4L2
198 depends on ARCH_MEDIATEK || COMPILE_TEST
199 select VIDEOBUF2_DMA_CONTIG
200 select V4L2_MEM2MEM_DEV
202 Mediatek jpeg codec driver provides HW capability to decode
205 To compile this driver as a module, choose M here: the
206 module will be called mtk-jpeg
208 config VIDEO_MEDIATEK_VPU
209 tristate "Mediatek Video Processor Unit"
210 depends on VIDEO_DEV && VIDEO_V4L2
211 depends on ARCH_MEDIATEK || COMPILE_TEST
213 This driver provides downloading VPU firmware and
214 communicating with VPU. This driver for hw video
215 codec embedded in Mediatek's MT8173 SOCs. It is able
216 to handle video decoding/encoding in a range of formats.
218 To compile this driver as a module, choose M here: the
219 module will be called mtk-vpu.
221 config VIDEO_MEDIATEK_MDP
222 tristate "Mediatek MDP driver"
223 depends on MTK_IOMMU || COMPILE_TEST
224 depends on VIDEO_DEV && VIDEO_V4L2
225 depends on ARCH_MEDIATEK || COMPILE_TEST
226 select VIDEOBUF2_DMA_CONTIG
227 select V4L2_MEM2MEM_DEV
228 select VIDEO_MEDIATEK_VPU
231 It is a v4l2 driver and present in Mediatek MT8173 SoCs.
232 The driver supports for scaling and color space conversion.
234 To compile this driver as a module, choose M here: the
235 module will be called mtk-mdp.
237 config VIDEO_MEDIATEK_VCODEC
238 tristate "Mediatek Video Codec driver"
239 depends on MTK_IOMMU || COMPILE_TEST
240 depends on VIDEO_DEV && VIDEO_V4L2
241 depends on ARCH_MEDIATEK || COMPILE_TEST
242 select VIDEOBUF2_DMA_CONTIG
243 select V4L2_MEM2MEM_DEV
244 select VIDEO_MEDIATEK_VPU
247 Mediatek video codec driver provides HW capability to
248 encode and decode in a range of video formats
249 This driver rely on VPU driver to communicate with VPU.
251 To compile this driver as a module, choose M here: the
252 module will be called mtk-vcodec
254 config VIDEO_MEM2MEM_DEINTERLACE
255 tristate "Deinterlace support"
256 depends on VIDEO_DEV && VIDEO_V4L2
258 select VIDEOBUF2_DMA_CONTIG
259 select V4L2_MEM2MEM_DEV
261 Generic deinterlacing V4L2 driver.
263 config VIDEO_SAMSUNG_S5P_G2D
264 tristate "Samsung S5P and EXYNOS4 G2D 2d graphics accelerator driver"
265 depends on VIDEO_DEV && VIDEO_V4L2
266 depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
267 select VIDEOBUF2_DMA_CONTIG
268 select V4L2_MEM2MEM_DEV
271 This is a v4l2 driver for Samsung S5P and EXYNOS4 G2D
272 2d graphics accelerator.
274 config VIDEO_SAMSUNG_S5P_JPEG
275 tristate "Samsung S5P/Exynos3250/Exynos4 JPEG codec driver"
276 depends on VIDEO_DEV && VIDEO_V4L2
277 depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
278 select VIDEOBUF2_DMA_CONTIG
279 select V4L2_MEM2MEM_DEV
281 This is a v4l2 driver for Samsung S5P, EXYNOS3250
282 and EXYNOS4 JPEG codec
284 config VIDEO_SAMSUNG_S5P_MFC
285 tristate "Samsung S5P MFC Video Codec"
286 depends on VIDEO_DEV && VIDEO_V4L2
287 depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
288 select VIDEOBUF2_DMA_CONTIG
291 MFC 5.1 and 6.x driver for V4L2
293 config VIDEO_MX2_EMMAPRP
294 tristate "MX2 eMMa-PrP support"
295 depends on VIDEO_DEV && VIDEO_V4L2
296 depends on SOC_IMX27 || COMPILE_TEST
297 select VIDEOBUF2_DMA_CONTIG
298 select V4L2_MEM2MEM_DEV
300 MX2X chips have a PrP that can be used to process buffers from
301 memory to memory. Operations include resizing and format
304 config VIDEO_SAMSUNG_EXYNOS_GSC
305 tristate "Samsung Exynos G-Scaler driver"
306 depends on VIDEO_DEV && VIDEO_V4L2
307 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
316 depends on ARCH_STI || COMPILE_TEST
317 select VIDEOBUF2_DMA_CONTIG
318 select V4L2_MEM2MEM_DEV
320 This v4l2 mem2mem driver is a 2D blitter for STMicroelectronics SoC.
323 tristate "STMicroelectronics HVA multi-format video encoder V4L2 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 driver enables HVA (Hardware Video Accelerator) multi-format
330 video encoder of STMicroelectronics SoC, allowing hardware encoding of
331 raw uncompressed formats in various compressed video bitstreams format.
333 To compile this driver as a module, choose M here:
334 the module will be called st-hva.
336 config VIDEO_STI_HVA_DEBUGFS
337 bool "Export STMicroelectronics HVA internals in debugfs"
338 depends on VIDEO_STI_HVA
341 Select this to see information about the internal state and the last
342 operation of STMicroelectronics HVA multi-format video encoder in
345 Choose N unless you know you need this.
347 config VIDEO_STI_DELTA
348 tristate "STMicroelectronics DELTA multi-format video decoder V4L2 driver"
349 depends on VIDEO_DEV && VIDEO_V4L2
350 depends on ARCH_STI || COMPILE_TEST
352 This V4L2 driver enables DELTA multi-format video decoder
353 of STMicroelectronics STiH4xx SoC series allowing hardware
354 decoding of various compressed video bitstream format in
355 raw uncompressed format.
357 Use this option to see the decoders available for such
360 Please notice that the driver will only be built if
361 at least one of the DELTA decoder below is selected.
365 config VIDEO_STI_DELTA_MJPEG
366 bool "STMicroelectronics DELTA MJPEG support"
369 Enables DELTA MJPEG hardware support.
371 To compile this driver as a module, choose M here:
372 the module will be called st-delta.
374 config VIDEO_STI_DELTA_DRIVER
376 depends on VIDEO_STI_DELTA
377 depends on VIDEO_STI_DELTA_MJPEG
378 default VIDEO_STI_DELTA_MJPEG
379 select VIDEOBUF2_DMA_CONTIG
380 select V4L2_MEM2MEM_DEV
383 endif # VIDEO_STI_DELTA
386 tristate "SuperH VEU mem2mem video processing driver"
387 depends on VIDEO_DEV && VIDEO_V4L2 && HAS_DMA
388 select VIDEOBUF2_DMA_CONTIG
389 select V4L2_MEM2MEM_DEV
391 Support for the Video Engine Unit (VEU) on SuperH and
394 config VIDEO_RENESAS_FDP1
395 tristate "Renesas Fine Display Processor"
396 depends on VIDEO_DEV && VIDEO_V4L2
397 depends on ARCH_RENESAS || COMPILE_TEST
398 depends on (!ARM64 && !VIDEO_RENESAS_FCP) || VIDEO_RENESAS_FCP
399 select VIDEOBUF2_DMA_CONTIG
400 select V4L2_MEM2MEM_DEV
402 This is a V4L2 driver for the Renesas Fine Display Processor
403 providing colour space conversion, and de-interlacing features.
405 To compile this driver as a module, choose M here: the module
406 will be called rcar_fdp1.
408 config VIDEO_RENESAS_JPU
409 tristate "Renesas JPEG Processing Unit"
410 depends on VIDEO_DEV && VIDEO_V4L2
411 depends on ARCH_RENESAS || COMPILE_TEST
412 select VIDEOBUF2_DMA_CONTIG
413 select V4L2_MEM2MEM_DEV
415 This is a V4L2 driver for the Renesas JPEG Processing Unit.
417 To compile this driver as a module, choose M here: the module
418 will be called rcar_jpu.
420 config VIDEO_RENESAS_FCP
421 tristate "Renesas Frame Compression Processor"
422 depends on ARCH_RENESAS || COMPILE_TEST
425 This is a driver for the Renesas Frame Compression Processor (FCP).
426 The FCP is a companion module of video processing modules in the
427 Renesas R-Car Gen3 SoCs. It handles memory access for the codec,
430 To compile this driver as a module, choose M here: the module
431 will be called rcar-fcp.
433 config VIDEO_RENESAS_VSP1
434 tristate "Renesas VSP1 Video Processing Engine"
435 depends on VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API
436 depends on ARCH_RENESAS || COMPILE_TEST
437 depends on (!ARM64 && !VIDEO_RENESAS_FCP) || VIDEO_RENESAS_FCP
438 select VIDEOBUF2_DMA_CONTIG
439 select VIDEOBUF2_VMALLOC
441 This is a V4L2 driver for the Renesas VSP1 video processing engine.
443 To compile this driver as a module, choose M here: the module
446 config VIDEO_ROCKCHIP_RGA
447 tristate "Rockchip Raster 2d Graphic Acceleration Unit"
448 depends on VIDEO_DEV && VIDEO_V4L2
449 depends on ARCH_ROCKCHIP || COMPILE_TEST
450 select VIDEOBUF2_DMA_SG
451 select V4L2_MEM2MEM_DEV
454 This is a v4l2 driver for Rockchip SOC RGA 2d graphics accelerator.
455 Rockchip RGA is a separate 2D raster graphic acceleration unit.
456 It accelerates 2D graphics operations, such as point/line drawing,
457 image scaling, rotation, BitBLT, alpha blending and image blur/sharpness.
459 To compile this driver as a module choose m here.
462 tristate "TI VPE (Video Processing Engine) driver"
463 depends on VIDEO_DEV && VIDEO_V4L2
464 depends on SOC_DRA7XX || COMPILE_TEST
465 select VIDEOBUF2_DMA_CONTIG
466 select V4L2_MEM2MEM_DEV
467 select VIDEO_TI_VPDMA
472 Support for the TI VPE(Video Processing Engine) block
475 config VIDEO_TI_VPE_DEBUG
476 bool "VPE debug messages"
477 depends on VIDEO_TI_VPE
479 Enable debug messages on VPE driver.
481 config VIDEO_QCOM_VENUS
482 tristate "Qualcomm Venus V4L2 encoder/decoder driver"
483 depends on VIDEO_DEV && VIDEO_V4L2
484 depends on (ARCH_QCOM && IOMMU_DMA) || COMPILE_TEST
485 select QCOM_MDT_LOADER if ARCH_QCOM
486 select QCOM_SCM if ARCH_QCOM
487 select VIDEOBUF2_DMA_SG
488 select V4L2_MEM2MEM_DEV
490 This is a V4L2 driver for Qualcomm Venus video accelerator
491 hardware. It accelerates encoding and decoding operations
492 on various Qualcomm SoCs.
493 To compile this driver as a module choose m here.
495 endif # V4L_MEM2MEM_DRIVERS
497 # TI VIDEO PORT Helper Modules
498 # These will be selected by VPE and VIP
499 config VIDEO_TI_VPDMA
508 menuconfig V4L_TEST_DRIVERS
509 bool "Media test drivers"
510 depends on MEDIA_CAMERA_SUPPORT
514 source "drivers/media/platform/vimc/Kconfig"
516 source "drivers/media/platform/vivid/Kconfig"
519 tristate "Virtual Memory-to-Memory Driver"
520 depends on VIDEO_DEV && VIDEO_V4L2
521 select VIDEOBUF2_VMALLOC
522 select V4L2_MEM2MEM_DEV
525 This is a virtual test device for the memory-to-memory driver
528 source "drivers/media/platform/vicodec/Kconfig"
530 endif #V4L_TEST_DRIVERS
532 menuconfig DVB_PLATFORM_DRIVERS
533 bool "DVB platform devices"
534 depends on MEDIA_DIGITAL_TV_SUPPORT
537 Say Y here to enable support for platform-specific Digital TV drivers.
539 if DVB_PLATFORM_DRIVERS
540 source "drivers/media/platform/sti/c8sectpfe/Kconfig"
541 endif #DVB_PLATFORM_DRIVERS
543 menuconfig CEC_PLATFORM_DRIVERS
544 bool "CEC platform devices"
545 depends on MEDIA_CEC_SUPPORT
547 if CEC_PLATFORM_DRIVERS
549 config VIDEO_CROS_EC_CEC
550 tristate "ChromeOS EC CEC driver"
551 depends on MFD_CROS_EC
554 select CHROME_PLATFORMS
557 If you say yes here you will get support for the
558 ChromeOS Embedded Controller's CEC.
559 The CEC bus is present in the HDMI connector and enables communication
560 between compatible devices.
562 config VIDEO_MESON_AO_CEC
563 tristate "Amlogic Meson AO CEC driver"
564 depends on ARCH_MESON || COMPILE_TEST
568 This is a driver for Amlogic Meson SoCs AO CEC interface. It uses the
569 generic CEC framework interface.
570 CEC bus is present in the HDMI connector and enables communication
573 tristate "Generic GPIO-based CEC driver"
574 depends on PREEMPT || COMPILE_TEST
579 This is a generic GPIO-based CEC driver.
580 The CEC bus is present in the HDMI connector and enables communication
581 between compatible devices.
583 config VIDEO_SAMSUNG_S5P_CEC
584 tristate "Samsung S5P CEC driver"
585 depends on ARCH_EXYNOS || COMPILE_TEST
589 This is a driver for Samsung S5P HDMI CEC interface. It uses the
590 generic CEC framework interface.
591 CEC bus is present in the HDMI connector and enables communication
592 between compatible devices.
594 config VIDEO_STI_HDMI_CEC
595 tristate "STMicroelectronics STiH4xx HDMI CEC driver"
596 depends on ARCH_STI || COMPILE_TEST
600 This is a driver for STIH4xx HDMI CEC 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_STM32_HDMI_CEC
606 tristate "STMicroelectronics STM32 HDMI CEC driver"
607 depends on ARCH_STM32 || COMPILE_TEST
612 This is a driver for STM32 interface. It uses the
613 generic CEC framework interface.
614 CEC bus is present in the HDMI connector and enables communication
615 between compatible devices.
617 config VIDEO_TEGRA_HDMI_CEC
618 tristate "Tegra HDMI CEC driver"
619 depends on ARCH_TEGRA || COMPILE_TEST
623 This is a driver for the Tegra HDMI CEC interface. It uses the
624 generic CEC framework interface.
625 The CEC bus is present in the HDMI connector and enables communication
626 between compatible devices.
628 endif #CEC_PLATFORM_DRIVERS
630 menuconfig SDR_PLATFORM_DRIVERS
631 bool "SDR platform devices"
632 depends on MEDIA_SDR_SUPPORT
635 Say Y here to enable support for platform-specific SDR Drivers.
637 if SDR_PLATFORM_DRIVERS
639 config VIDEO_RCAR_DRIF
640 tristate "Renesas Digitial Radio Interface (DRIF)"
641 depends on VIDEO_V4L2
642 depends on ARCH_RENESAS || COMPILE_TEST
643 select VIDEOBUF2_VMALLOC
645 Say Y if you want to enable R-Car Gen3 DRIF support. DRIF is Digital
646 Radio Interface that interfaces with an RF front end chip. It is a
647 receiver of digital data which uses DMA to transfer received data to
648 a configured location for an application to use.
650 To compile this driver as a module, choose M here; the module
651 will be called rcar_drif.
653 endif # SDR_PLATFORM_DRIVERS