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
184 config VIDEO_MEDIATEK_JPEG
185 tristate "Mediatek JPEG Codec driver"
186 depends on MTK_IOMMU_V1 || COMPILE_TEST
187 depends on VIDEO_DEV && VIDEO_V4L2
188 depends on ARCH_MEDIATEK || COMPILE_TEST
189 select VIDEOBUF2_DMA_CONTIG
190 select V4L2_MEM2MEM_DEV
192 Mediatek jpeg codec driver provides HW capability to decode
195 To compile this driver as a module, choose M here: the
196 module will be called mtk-jpeg
198 config VIDEO_MEDIATEK_VPU
199 tristate "Mediatek Video Processor Unit"
200 depends on VIDEO_DEV && VIDEO_V4L2
201 depends on ARCH_MEDIATEK || COMPILE_TEST
203 This driver provides downloading VPU firmware and
204 communicating with VPU. This driver for hw video
205 codec embedded in Mediatek's MT8173 SOCs. It is able
206 to handle video decoding/encoding in a range of formats.
208 To compile this driver as a module, choose M here: the
209 module will be called mtk-vpu.
211 config VIDEO_MEDIATEK_MDP
212 tristate "Mediatek MDP driver"
213 depends on MTK_IOMMU || COMPILE_TEST
214 depends on VIDEO_DEV && VIDEO_V4L2
215 depends on ARCH_MEDIATEK || COMPILE_TEST
216 select VIDEOBUF2_DMA_CONTIG
217 select V4L2_MEM2MEM_DEV
218 select VIDEO_MEDIATEK_VPU
221 It is a v4l2 driver and present in Mediatek MT8173 SoCs.
222 The driver supports for scaling and color space conversion.
224 To compile this driver as a module, choose M here: the
225 module will be called mtk-mdp.
227 config VIDEO_MEDIATEK_VCODEC
228 tristate "Mediatek Video Codec driver"
229 depends on MTK_IOMMU || COMPILE_TEST
230 depends on VIDEO_DEV && VIDEO_V4L2
231 depends on ARCH_MEDIATEK || COMPILE_TEST
232 select VIDEOBUF2_DMA_CONTIG
233 select V4L2_MEM2MEM_DEV
234 select VIDEO_MEDIATEK_VPU
237 Mediatek video codec driver provides HW capability to
238 encode and decode in a range of video formats
239 This driver rely on VPU driver to communicate with VPU.
241 To compile this driver as a module, choose M here: the
242 module will be called mtk-vcodec
244 config VIDEO_MEM2MEM_DEINTERLACE
245 tristate "Deinterlace support"
246 depends on VIDEO_DEV && VIDEO_V4L2
248 select VIDEOBUF2_DMA_CONTIG
249 select V4L2_MEM2MEM_DEV
251 Generic deinterlacing V4L2 driver.
253 config VIDEO_SAMSUNG_S5P_G2D
254 tristate "Samsung S5P and EXYNOS4 G2D 2d graphics accelerator driver"
255 depends on VIDEO_DEV && VIDEO_V4L2
256 depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
257 select VIDEOBUF2_DMA_CONTIG
258 select V4L2_MEM2MEM_DEV
261 This is a v4l2 driver for Samsung S5P and EXYNOS4 G2D
262 2d graphics accelerator.
264 config VIDEO_SAMSUNG_S5P_JPEG
265 tristate "Samsung S5P/Exynos3250/Exynos4 JPEG codec driver"
266 depends on VIDEO_DEV && VIDEO_V4L2
267 depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
268 select VIDEOBUF2_DMA_CONTIG
269 select V4L2_MEM2MEM_DEV
271 This is a v4l2 driver for Samsung S5P, EXYNOS3250
272 and EXYNOS4 JPEG codec
274 config VIDEO_SAMSUNG_S5P_MFC
275 tristate "Samsung S5P MFC Video Codec"
276 depends on VIDEO_DEV && VIDEO_V4L2
277 depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
278 select VIDEOBUF2_DMA_CONTIG
281 MFC 5.1 and 6.x driver for V4L2
283 config VIDEO_MX2_EMMAPRP
284 tristate "MX2 eMMa-PrP support"
285 depends on VIDEO_DEV && VIDEO_V4L2
286 depends on SOC_IMX27 || COMPILE_TEST
287 select VIDEOBUF2_DMA_CONTIG
288 select V4L2_MEM2MEM_DEV
290 MX2X chips have a PrP that can be used to process buffers from
291 memory to memory. Operations include resizing and format
294 config VIDEO_SAMSUNG_EXYNOS_GSC
295 tristate "Samsung Exynos G-Scaler driver"
296 depends on VIDEO_DEV && VIDEO_V4L2
297 depends on ARCH_EXYNOS || COMPILE_TEST
298 select VIDEOBUF2_DMA_CONTIG
299 select V4L2_MEM2MEM_DEV
301 This is a v4l2 driver for Samsung EXYNOS5 SoC G-Scaler.
303 config VIDEO_STI_BDISP
304 tristate "STMicroelectronics BDISP 2D blitter driver"
305 depends on VIDEO_DEV && VIDEO_V4L2
306 depends on ARCH_STI || COMPILE_TEST
307 select VIDEOBUF2_DMA_CONTIG
308 select V4L2_MEM2MEM_DEV
310 This v4l2 mem2mem driver is a 2D blitter for STMicroelectronics SoC.
313 tristate "STMicroelectronics HVA multi-format video encoder V4L2 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 driver enables HVA (Hardware Video Accelerator) multi-format
320 video encoder of STMicroelectronics SoC, allowing hardware encoding of
321 raw uncompressed formats in various compressed video bitstreams format.
323 To compile this driver as a module, choose M here:
324 the module will be called st-hva.
326 config VIDEO_STI_HVA_DEBUGFS
327 bool "Export STMicroelectronics HVA internals in debugfs"
328 depends on VIDEO_STI_HVA
331 Select this to see information about the internal state and the last
332 operation of STMicroelectronics HVA multi-format video encoder in
335 Choose N unless you know you need this.
337 config VIDEO_STI_DELTA
338 tristate "STMicroelectronics DELTA multi-format video decoder V4L2 driver"
339 depends on VIDEO_DEV && VIDEO_V4L2
340 depends on ARCH_STI || COMPILE_TEST
342 This V4L2 driver enables DELTA multi-format video decoder
343 of STMicroelectronics STiH4xx SoC series allowing hardware
344 decoding of various compressed video bitstream format in
345 raw uncompressed format.
347 Use this option to see the decoders available for such
350 Please notice that the driver will only be built if
351 at least one of the DELTA decoder below is selected.
355 config VIDEO_STI_DELTA_MJPEG
356 bool "STMicroelectronics DELTA MJPEG support"
359 Enables DELTA MJPEG hardware support.
361 To compile this driver as a module, choose M here:
362 the module will be called st-delta.
364 config VIDEO_STI_DELTA_DRIVER
366 depends on VIDEO_STI_DELTA
367 depends on VIDEO_STI_DELTA_MJPEG
368 default VIDEO_STI_DELTA_MJPEG
369 select VIDEOBUF2_DMA_CONTIG
370 select V4L2_MEM2MEM_DEV
373 endif # VIDEO_STI_DELTA
376 tristate "SuperH VEU mem2mem video processing driver"
377 depends on VIDEO_DEV && VIDEO_V4L2 && HAS_DMA
378 select VIDEOBUF2_DMA_CONTIG
379 select V4L2_MEM2MEM_DEV
381 Support for the Video Engine Unit (VEU) on SuperH and
384 config VIDEO_RENESAS_FDP1
385 tristate "Renesas Fine Display Processor"
386 depends on VIDEO_DEV && VIDEO_V4L2
387 depends on ARCH_RENESAS || COMPILE_TEST
388 depends on (!ARM64 && !VIDEO_RENESAS_FCP) || VIDEO_RENESAS_FCP
389 select VIDEOBUF2_DMA_CONTIG
390 select V4L2_MEM2MEM_DEV
392 This is a V4L2 driver for the Renesas Fine Display Processor
393 providing colour space conversion, and de-interlacing features.
395 To compile this driver as a module, choose M here: the module
396 will be called rcar_fdp1.
398 config VIDEO_RENESAS_JPU
399 tristate "Renesas JPEG Processing Unit"
400 depends on VIDEO_DEV && VIDEO_V4L2
401 depends on ARCH_RENESAS || COMPILE_TEST
402 select VIDEOBUF2_DMA_CONTIG
403 select V4L2_MEM2MEM_DEV
405 This is a V4L2 driver for the Renesas JPEG Processing Unit.
407 To compile this driver as a module, choose M here: the module
408 will be called rcar_jpu.
410 config VIDEO_RENESAS_FCP
411 tristate "Renesas Frame Compression Processor"
412 depends on ARCH_RENESAS || COMPILE_TEST
415 This is a driver for the Renesas Frame Compression Processor (FCP).
416 The FCP is a companion module of video processing modules in the
417 Renesas R-Car Gen3 SoCs. It handles memory access for the codec,
420 To compile this driver as a module, choose M here: the module
421 will be called rcar-fcp.
423 config VIDEO_RENESAS_VSP1
424 tristate "Renesas VSP1 Video Processing Engine"
425 depends on VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API
426 depends on ARCH_RENESAS || COMPILE_TEST
427 depends on (!ARM64 && !VIDEO_RENESAS_FCP) || VIDEO_RENESAS_FCP
428 select VIDEOBUF2_DMA_CONTIG
429 select VIDEOBUF2_VMALLOC
431 This is a V4L2 driver for the Renesas VSP1 video processing engine.
433 To compile this driver as a module, choose M here: the module
436 config VIDEO_ROCKCHIP_RGA
437 tristate "Rockchip Raster 2d Graphic Acceleration Unit"
438 depends on VIDEO_DEV && VIDEO_V4L2
439 depends on ARCH_ROCKCHIP || COMPILE_TEST
440 select VIDEOBUF2_DMA_SG
441 select V4L2_MEM2MEM_DEV
444 This is a v4l2 driver for Rockchip SOC RGA 2d graphics accelerator.
445 Rockchip RGA is a separate 2D raster graphic acceleration unit.
446 It accelerates 2D graphics operations, such as point/line drawing,
447 image scaling, rotation, BitBLT, alpha blending and image blur/sharpness.
449 To compile this driver as a module choose m here.
452 tristate "TI VPE (Video Processing Engine) driver"
453 depends on VIDEO_DEV && VIDEO_V4L2
454 depends on SOC_DRA7XX || COMPILE_TEST
455 select VIDEOBUF2_DMA_CONTIG
456 select V4L2_MEM2MEM_DEV
457 select VIDEO_TI_VPDMA
462 Support for the TI VPE(Video Processing Engine) block
465 config VIDEO_TI_VPE_DEBUG
466 bool "VPE debug messages"
467 depends on VIDEO_TI_VPE
469 Enable debug messages on VPE driver.
471 config VIDEO_QCOM_VENUS
472 tristate "Qualcomm Venus V4L2 encoder/decoder driver"
473 depends on VIDEO_DEV && VIDEO_V4L2
474 depends on (ARCH_QCOM && IOMMU_DMA) || COMPILE_TEST
475 select QCOM_MDT_LOADER if ARCH_QCOM
476 select QCOM_SCM if ARCH_QCOM
477 select VIDEOBUF2_DMA_SG
478 select V4L2_MEM2MEM_DEV
480 This is a V4L2 driver for Qualcomm Venus video accelerator
481 hardware. It accelerates encoding and decoding operations
482 on various Qualcomm SoCs.
483 To compile this driver as a module choose m here.
485 endif # V4L_MEM2MEM_DRIVERS
487 # TI VIDEO PORT Helper Modules
488 # These will be selected by VPE and VIP
489 config VIDEO_TI_VPDMA
498 menuconfig V4L_TEST_DRIVERS
499 bool "Media test drivers"
500 depends on MEDIA_CAMERA_SUPPORT
504 source "drivers/media/platform/vimc/Kconfig"
506 source "drivers/media/platform/vivid/Kconfig"
509 tristate "Virtual Memory-to-Memory Driver"
510 depends on VIDEO_DEV && VIDEO_V4L2
511 select VIDEOBUF2_VMALLOC
512 select V4L2_MEM2MEM_DEV
515 This is a virtual test device for the memory-to-memory driver
518 source "drivers/media/platform/vicodec/Kconfig"
520 endif #V4L_TEST_DRIVERS
522 menuconfig DVB_PLATFORM_DRIVERS
523 bool "DVB platform devices"
524 depends on MEDIA_DIGITAL_TV_SUPPORT
527 Say Y here to enable support for platform-specific Digital TV drivers.
529 if DVB_PLATFORM_DRIVERS
530 source "drivers/media/platform/sti/c8sectpfe/Kconfig"
531 endif #DVB_PLATFORM_DRIVERS
533 menuconfig CEC_PLATFORM_DRIVERS
534 bool "CEC platform devices"
535 depends on MEDIA_CEC_SUPPORT
537 if CEC_PLATFORM_DRIVERS
539 config VIDEO_CROS_EC_CEC
540 tristate "ChromeOS EC CEC driver"
541 depends on MFD_CROS_EC
544 select CHROME_PLATFORMS
547 If you say yes here you will get support for the
548 ChromeOS Embedded Controller's CEC.
549 The CEC bus is present in the HDMI connector and enables communication
550 between compatible devices.
552 config VIDEO_MESON_AO_CEC
553 tristate "Amlogic Meson AO CEC driver"
554 depends on ARCH_MESON || COMPILE_TEST
558 This is a driver for Amlogic Meson SoCs AO CEC interface. It uses the
559 generic CEC framework interface.
560 CEC bus is present in the HDMI connector and enables communication
563 tristate "Generic GPIO-based CEC driver"
564 depends on PREEMPT || COMPILE_TEST
569 This is a generic GPIO-based CEC driver.
570 The CEC bus is present in the HDMI connector and enables communication
571 between compatible devices.
573 config VIDEO_SAMSUNG_S5P_CEC
574 tristate "Samsung S5P CEC driver"
575 depends on ARCH_EXYNOS || COMPILE_TEST
579 This is a driver for Samsung S5P HDMI CEC interface. It uses the
580 generic CEC framework interface.
581 CEC bus is present in the HDMI connector and enables communication
582 between compatible devices.
584 config VIDEO_STI_HDMI_CEC
585 tristate "STMicroelectronics STiH4xx HDMI CEC driver"
586 depends on ARCH_STI || COMPILE_TEST
590 This is a driver for STIH4xx HDMI CEC interface. It uses the
591 generic CEC framework interface.
592 CEC bus is present in the HDMI connector and enables communication
593 between compatible devices.
595 config VIDEO_STM32_HDMI_CEC
596 tristate "STMicroelectronics STM32 HDMI CEC driver"
597 depends on ARCH_STM32 || COMPILE_TEST
602 This is a driver for STM32 interface. It uses the
603 generic CEC framework interface.
604 CEC bus is present in the HDMI connector and enables communication
605 between compatible devices.
607 config VIDEO_TEGRA_HDMI_CEC
608 tristate "Tegra HDMI CEC driver"
609 depends on ARCH_TEGRA || COMPILE_TEST
613 This is a driver for the Tegra HDMI CEC interface. It uses the
614 generic CEC framework interface.
615 The CEC bus is present in the HDMI connector and enables communication
616 between compatible devices.
618 endif #CEC_PLATFORM_DRIVERS
620 menuconfig SDR_PLATFORM_DRIVERS
621 bool "SDR platform devices"
622 depends on MEDIA_SDR_SUPPORT
625 Say Y here to enable support for platform-specific SDR Drivers.
627 if SDR_PLATFORM_DRIVERS
629 config VIDEO_RCAR_DRIF
630 tristate "Renesas Digitial Radio Interface (DRIF)"
631 depends on VIDEO_V4L2
632 depends on ARCH_RENESAS || COMPILE_TEST
633 select VIDEOBUF2_VMALLOC
635 Say Y if you want to enable R-Car Gen3 DRIF support. DRIF is Digital
636 Radio Interface that interfaces with an RF front end chip. It is a
637 receiver of digital data which uses DMA to transfer received data to
638 a configured location for an application to use.
640 To compile this driver as a module, choose M here; the module
641 will be called rcar_drif.
643 endif # SDR_PLATFORM_DRIVERS