1 # SPDX-License-Identifier: GPL-2.0-only
4 # Most drivers here are currently for webcam support
6 menuconfig V4L_PLATFORM_DRIVERS
7 bool "V4L platform devices"
9 Say Y here to enable support for platform-specific V4L drivers.
11 if V4L_PLATFORM_DRIVERS
13 source "drivers/media/platform/marvell-ccic/Kconfig"
15 config VIDEO_VIA_CAMERA
16 tristate "VIAFB camera controller support"
17 depends on FB_VIA && VIDEO_V4L2
18 select VIDEOBUF2_DMA_SG
21 Driver support for the integrated camera controller in VIA
22 Chrome9 chipsets. Currently only tested on OLPC xo-1.5 systems
26 # Platform multimedia device configuration
28 source "drivers/media/platform/cadence/Kconfig"
30 source "drivers/media/platform/davinci/Kconfig"
32 source "drivers/media/platform/omap/Kconfig"
35 tristate "Aspeed AST2400 and AST2500 Video Engine driver"
37 select VIDEOBUF2_DMA_CONTIG
39 Support for the Aspeed Video Engine (VE) embedded in the Aspeed
40 AST2400 and AST2500 SOCs. The VE can capture and compress video data
41 from digital or analog sources.
44 tristate "SuperH VOU video output driver"
45 depends on VIDEO_DEV && I2C
46 depends on ARCH_SHMOBILE || COMPILE_TEST
47 select VIDEOBUF2_DMA_CONTIG
49 Support for the Video Output Unit (VOU) on SuperH SoCs.
52 tristate "Freescale VIU Video Driver"
53 depends on VIDEO_V4L2 && (PPC_MPC512x || COMPILE_TEST) && I2C
54 select VIDEOBUF_DMA_CONTIG
57 Support for Freescale VIU video driver. This device captures
58 video data, or overlays video on DIU frame buffer.
60 Say Y here if you want to enable VIU device on MPC5121e Rev2+.
64 tristate "Video Multiplexer"
66 depends on VIDEO_V4L2 && OF
67 select MEDIA_CONTROLLER
68 select VIDEO_V4L2_SUBDEV_API
72 This driver provides support for N:1 video bus multiplexers.
75 tristate "OMAP 3 Camera support"
76 depends on VIDEO_V4L2 && I2C
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 MEDIA_CONTROLLER
81 select VIDEO_V4L2_SUBDEV_API
82 select VIDEOBUF2_DMA_CONTIG
86 Driver for an OMAP 3 camera controller.
88 config VIDEO_OMAP3_DEBUG
89 bool "OMAP 3 Camera debug messages"
90 depends on VIDEO_OMAP3
92 Enable debug messages on OMAP 3 camera controller driver.
95 tristate "PXA27x Quick Capture Interface driver"
96 depends on VIDEO_DEV && VIDEO_V4L2
97 depends on PXA27x || COMPILE_TEST
98 select VIDEOBUF2_DMA_SG
102 This is a v4l2 driver for the PXA27x Quick Capture Interface
104 config VIDEO_QCOM_CAMSS
105 tristate "Qualcomm V4L2 Camera Subsystem driver"
106 depends on VIDEO_V4L2
107 depends on (ARCH_QCOM && IOMMU_DMA) || COMPILE_TEST
108 select MEDIA_CONTROLLER
109 select VIDEO_V4L2_SUBDEV_API
110 select VIDEOBUF2_DMA_SG
113 config VIDEO_S3C_CAMIF
114 tristate "Samsung S3C24XX/S3C64XX SoC Camera Interface driver"
115 depends on VIDEO_V4L2 && I2C && PM
116 depends on ARCH_S3C64XX || PLAT_S3C24XX || COMPILE_TEST
117 select MEDIA_CONTROLLER
118 select VIDEO_V4L2_SUBDEV_API
119 select VIDEOBUF2_DMA_CONTIG
121 This is a v4l2 driver for s3c24xx and s3c64xx SoC series camera
122 host interface (CAMIF).
124 To compile this driver as a module, choose M here: the module
125 will be called s3c-camif.
127 config VIDEO_STM32_DCMI
128 tristate "STM32 Digital Camera Memory Interface (DCMI) support"
129 depends on VIDEO_V4L2 && OF
130 depends on ARCH_STM32 || COMPILE_TEST
131 select VIDEOBUF2_DMA_CONTIG
132 select MEDIA_CONTROLLER
135 This module makes the STM32 Digital Camera Memory Interface (DCMI)
136 available as a v4l2 device.
138 To compile this driver as a module, choose M here: the module
139 will be called stm32-dcmi.
141 config VIDEO_RENESAS_CEU
142 tristate "Renesas Capture Engine Unit (CEU) driver"
143 depends on VIDEO_DEV && VIDEO_V4L2
144 depends on ARCH_SHMOBILE || ARCH_R7S72100 || COMPILE_TEST
145 select VIDEOBUF2_DMA_CONTIG
148 This is a v4l2 driver for the Renesas CEU Interface
150 config VIDEO_ROCKCHIP_ISP1
151 tristate "Rockchip Image Signal Processing v1 Unit driver"
152 depends on VIDEO_V4L2 && OF
153 depends on ARCH_ROCKCHIP || COMPILE_TEST
154 select MEDIA_CONTROLLER
155 select VIDEO_V4L2_SUBDEV_API
156 select VIDEOBUF2_DMA_CONTIG
157 select VIDEOBUF2_VMALLOC
159 select GENERIC_PHY_MIPI_DPHY
162 Enable this to support the Image Signal Processing (ISP) module
163 present in RK3399 SoCs.
165 To compile this driver as a module, choose M here: the module
166 will be called rockchip-isp1.
168 source "drivers/media/platform/exynos4-is/Kconfig"
169 source "drivers/media/platform/am437x/Kconfig"
170 source "drivers/media/platform/xilinx/Kconfig"
171 source "drivers/media/platform/rcar-vin/Kconfig"
172 source "drivers/media/platform/atmel/Kconfig"
173 source "drivers/media/platform/sunxi/Kconfig"
176 tristate "TI CAL (Camera Adaptation Layer) driver"
177 depends on VIDEO_DEV && VIDEO_V4L2
178 select MEDIA_CONTROLLER
179 select VIDEO_V4L2_SUBDEV_API
180 depends on SOC_DRA7XX || ARCH_K3 || COMPILE_TEST
181 select VIDEOBUF2_DMA_CONTIG
184 Support for the TI CAL (Camera Adaptation Layer) block
186 In TI Technical Reference Manual this module is referred as
187 Camera Interface Subsystem (CAMSS).
189 endif # V4L_PLATFORM_DRIVERS
191 menuconfig V4L_MEM2MEM_DRIVERS
192 bool "Memory-to-memory multimedia devices"
193 depends on VIDEO_V4L2
195 Say Y here to enable selecting drivers for V4L devices that
196 use system memory for both source and destination buffers, as opposed
197 to capture and output drivers, which use memory buffers for just
200 if V4L_MEM2MEM_DRIVERS
203 tristate "Chips&Media Coda multi-standard codec IP"
204 depends on VIDEO_DEV && VIDEO_V4L2 && OF && (ARCH_MXC || COMPILE_TEST)
206 select VIDEOBUF2_DMA_CONTIG
207 select VIDEOBUF2_VMALLOC
208 select V4L2_JPEG_HELPER
209 select V4L2_MEM2MEM_DEV
210 select GENERIC_ALLOCATOR
212 Coda is a range of video codec IPs that supports
213 H.264, MPEG-4, and other video formats.
215 config VIDEO_IMX_VDOA
216 def_tristate VIDEO_CODA if SOC_IMX6Q || COMPILE_TEST
219 tristate "i.MX Pixel Pipeline (PXP)"
220 depends on VIDEO_DEV && VIDEO_V4L2 && (ARCH_MXC || COMPILE_TEST)
221 select VIDEOBUF2_DMA_CONTIG
222 select V4L2_MEM2MEM_DEV
224 The i.MX Pixel Pipeline is a memory-to-memory engine for scaling,
225 color space conversion, and rotation.
227 config VIDEO_MEDIATEK_JPEG
228 tristate "Mediatek JPEG Codec driver"
229 depends on MTK_IOMMU_V1 || 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
235 Mediatek jpeg codec driver provides HW capability to decode
238 To compile this driver as a module, choose M here: the
239 module will be called mtk-jpeg
241 config VIDEO_MEDIATEK_VPU
242 tristate "Mediatek Video Processor Unit"
243 depends on VIDEO_DEV && VIDEO_V4L2
244 depends on ARCH_MEDIATEK || COMPILE_TEST
246 This driver provides downloading VPU firmware and
247 communicating with VPU. This driver for hw video
248 codec embedded in Mediatek's MT8173 SOCs. It is able
249 to handle video decoding/encoding in a range of formats.
251 To compile this driver as a module, choose M here: the
252 module will be called mtk-vpu.
254 config VIDEO_MEDIATEK_MDP
255 tristate "Mediatek MDP driver"
256 depends on MTK_IOMMU || COMPILE_TEST
257 depends on VIDEO_DEV && VIDEO_V4L2
258 depends on ARCH_MEDIATEK || COMPILE_TEST
259 select VIDEOBUF2_DMA_CONTIG
260 select V4L2_MEM2MEM_DEV
261 select VIDEO_MEDIATEK_VPU
263 It is a v4l2 driver and present in Mediatek MT8173 SoCs.
264 The driver supports for scaling and color space conversion.
266 To compile this driver as a module, choose M here: the
267 module will be called mtk-mdp.
269 config VIDEO_MEDIATEK_VCODEC
270 tristate "Mediatek Video Codec driver"
271 depends on MTK_IOMMU || COMPILE_TEST
272 depends on VIDEO_DEV && VIDEO_V4L2
273 depends on ARCH_MEDIATEK || COMPILE_TEST
274 depends on VIDEO_MEDIATEK_VPU || MTK_SCP
275 # The two following lines ensure we have the same state ("m" or "y") as
276 # our dependencies, to avoid missing symbols during link.
277 depends on VIDEO_MEDIATEK_VPU || !VIDEO_MEDIATEK_VPU
278 depends on MTK_SCP || !MTK_SCP
279 select VIDEOBUF2_DMA_CONTIG
280 select V4L2_MEM2MEM_DEV
281 select VIDEO_MEDIATEK_VCODEC_VPU if VIDEO_MEDIATEK_VPU
282 select VIDEO_MEDIATEK_VCODEC_SCP if MTK_SCP
284 Mediatek video codec driver provides HW capability to
285 encode and decode in a range of video formats on MT8173
288 Note that support for MT8173 requires VIDEO_MEDIATEK_VPU to
289 also be selected. Support for MT8183 depends on MTK_SCP.
291 To compile this driver as modules, choose M here: the
292 modules will be called mtk-vcodec-dec and mtk-vcodec-enc.
294 config VIDEO_MEDIATEK_VCODEC_VPU
297 config VIDEO_MEDIATEK_VCODEC_SCP
300 config VIDEO_MEM2MEM_DEINTERLACE
301 tristate "Deinterlace support"
302 depends on VIDEO_DEV && VIDEO_V4L2
304 select VIDEOBUF2_DMA_CONTIG
305 select V4L2_MEM2MEM_DEV
307 Generic deinterlacing V4L2 driver.
309 config VIDEO_MESON_GE2D
310 tristate "Amlogic 2D Graphic Acceleration Unit"
311 depends on VIDEO_DEV && VIDEO_V4L2
312 depends on ARCH_MESON || COMPILE_TEST
313 select VIDEOBUF2_DMA_CONTIG
314 select V4L2_MEM2MEM_DEV
316 This is a v4l2 driver for Amlogic GE2D 2D graphics accelerator.
317 GE2D is a standalone 2D graphic acceleration unit, with color converter,
318 image scaling, BitBLT & alpha blending operations.
320 To compile this driver as a module choose m here.
322 config VIDEO_SAMSUNG_S5P_G2D
323 tristate "Samsung S5P and EXYNOS4 G2D 2d graphics accelerator driver"
324 depends on VIDEO_DEV && VIDEO_V4L2
325 depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
326 select VIDEOBUF2_DMA_CONTIG
327 select V4L2_MEM2MEM_DEV
329 This is a v4l2 driver for Samsung S5P and EXYNOS4 G2D
330 2d graphics accelerator.
332 config VIDEO_SAMSUNG_S5P_JPEG
333 tristate "Samsung S5P/Exynos3250/Exynos4 JPEG codec driver"
334 depends on VIDEO_DEV && VIDEO_V4L2
335 depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
336 select VIDEOBUF2_DMA_CONTIG
337 select V4L2_MEM2MEM_DEV
339 This is a v4l2 driver for Samsung S5P, EXYNOS3250
340 and EXYNOS4 JPEG codec
342 config VIDEO_SAMSUNG_S5P_MFC
343 tristate "Samsung S5P MFC Video Codec"
344 depends on VIDEO_DEV && VIDEO_V4L2
345 depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
346 select VIDEOBUF2_DMA_CONTIG
348 MFC 5.1 and 6.x driver for V4L2
350 config VIDEO_MX2_EMMAPRP
351 tristate "MX2 eMMa-PrP support"
352 depends on VIDEO_DEV && VIDEO_V4L2
353 depends on SOC_IMX27 || COMPILE_TEST
354 select VIDEOBUF2_DMA_CONTIG
355 select V4L2_MEM2MEM_DEV
357 MX2X chips have a PrP that can be used to process buffers from
358 memory to memory. Operations include resizing and format
361 config VIDEO_SAMSUNG_EXYNOS_GSC
362 tristate "Samsung Exynos G-Scaler driver"
363 depends on VIDEO_DEV && VIDEO_V4L2
364 depends on ARCH_EXYNOS || COMPILE_TEST
365 select VIDEOBUF2_DMA_CONTIG
366 select V4L2_MEM2MEM_DEV
368 This is a v4l2 driver for Samsung EXYNOS5 SoC G-Scaler.
370 config VIDEO_STI_BDISP
371 tristate "STMicroelectronics BDISP 2D blitter driver"
372 depends on VIDEO_DEV && VIDEO_V4L2
373 depends on ARCH_STI || COMPILE_TEST
374 select VIDEOBUF2_DMA_CONTIG
375 select V4L2_MEM2MEM_DEV
377 This v4l2 mem2mem driver is a 2D blitter for STMicroelectronics SoC.
380 tristate "STMicroelectronics HVA multi-format video encoder V4L2 driver"
381 depends on VIDEO_DEV && VIDEO_V4L2
382 depends on ARCH_STI || COMPILE_TEST
383 select VIDEOBUF2_DMA_CONTIG
384 select V4L2_MEM2MEM_DEV
386 This V4L2 driver enables HVA (Hardware Video Accelerator) multi-format
387 video encoder of STMicroelectronics SoC, allowing hardware encoding of
388 raw uncompressed formats in various compressed video bitstreams format.
390 To compile this driver as a module, choose M here:
391 the module will be called st-hva.
393 config VIDEO_STI_HVA_DEBUGFS
394 bool "Export STMicroelectronics HVA internals in debugfs"
395 depends on VIDEO_STI_HVA
398 Select this to see information about the internal state and the last
399 operation of STMicroelectronics HVA multi-format video encoder in
402 Choose N unless you know you need this.
404 config VIDEO_STI_DELTA
405 tristate "STMicroelectronics DELTA multi-format video decoder V4L2 driver"
406 depends on VIDEO_DEV && VIDEO_V4L2
407 depends on ARCH_STI || COMPILE_TEST
409 This V4L2 driver enables DELTA multi-format video decoder
410 of STMicroelectronics STiH4xx SoC series allowing hardware
411 decoding of various compressed video bitstream format in
412 raw uncompressed format.
414 Use this option to see the decoders available for such
417 Please notice that the driver will only be built if
418 at least one of the DELTA decoder below is selected.
422 config VIDEO_STI_DELTA_MJPEG
423 bool "STMicroelectronics DELTA MJPEG support"
426 Enables DELTA MJPEG hardware support.
428 To compile this driver as a module, choose M here:
429 the module will be called st-delta.
431 config VIDEO_STI_DELTA_DRIVER
433 depends on VIDEO_STI_DELTA
434 depends on VIDEO_STI_DELTA_MJPEG
435 default VIDEO_STI_DELTA_MJPEG
436 select VIDEOBUF2_DMA_CONTIG
437 select V4L2_MEM2MEM_DEV
440 endif # VIDEO_STI_DELTA
442 config VIDEO_RENESAS_FDP1
443 tristate "Renesas Fine Display Processor"
444 depends on VIDEO_DEV && VIDEO_V4L2
445 depends on ARCH_RENESAS || COMPILE_TEST
446 depends on (!ARM64 && !VIDEO_RENESAS_FCP) || VIDEO_RENESAS_FCP
447 select VIDEOBUF2_DMA_CONTIG
448 select V4L2_MEM2MEM_DEV
450 This is a V4L2 driver for the Renesas Fine Display Processor
451 providing colour space conversion, and de-interlacing features.
453 To compile this driver as a module, choose M here: the module
454 will be called rcar_fdp1.
456 config VIDEO_RENESAS_JPU
457 tristate "Renesas JPEG Processing Unit"
458 depends on VIDEO_DEV && VIDEO_V4L2
459 depends on ARCH_RENESAS || COMPILE_TEST
460 select VIDEOBUF2_DMA_CONTIG
461 select V4L2_MEM2MEM_DEV
463 This is a V4L2 driver for the Renesas JPEG Processing Unit.
465 To compile this driver as a module, choose M here: the module
466 will be called rcar_jpu.
468 config VIDEO_RENESAS_FCP
469 tristate "Renesas Frame Compression Processor"
470 depends on ARCH_RENESAS || COMPILE_TEST
473 This is a driver for the Renesas Frame Compression Processor (FCP).
474 The FCP is a companion module of video processing modules in the
475 Renesas R-Car Gen3 and RZ/G2 SoCs. It handles memory access for
476 the codec, VSP and FDP modules.
478 To compile this driver as a module, choose M here: the module
479 will be called rcar-fcp.
481 config VIDEO_RENESAS_VSP1
482 tristate "Renesas VSP1 Video Processing Engine"
483 depends on VIDEO_V4L2
484 depends on ARCH_RENESAS || COMPILE_TEST
485 depends on (!ARM64 && !VIDEO_RENESAS_FCP) || VIDEO_RENESAS_FCP
486 select MEDIA_CONTROLLER
487 select VIDEO_V4L2_SUBDEV_API
488 select VIDEOBUF2_DMA_CONTIG
489 select VIDEOBUF2_VMALLOC
491 This is a V4L2 driver for the Renesas VSP1 video processing engine.
493 To compile this driver as a module, choose M here: the module
496 config VIDEO_ROCKCHIP_RGA
497 tristate "Rockchip Raster 2d Graphic Acceleration Unit"
498 depends on VIDEO_DEV && VIDEO_V4L2
499 depends on ARCH_ROCKCHIP || COMPILE_TEST
500 select VIDEOBUF2_DMA_SG
501 select V4L2_MEM2MEM_DEV
503 This is a v4l2 driver for Rockchip SOC RGA 2d graphics accelerator.
504 Rockchip RGA is a separate 2D raster graphic acceleration unit.
505 It accelerates 2D graphics operations, such as point/line drawing,
506 image scaling, rotation, BitBLT, alpha blending and image blur/sharpness.
508 To compile this driver as a module choose m here.
511 tristate "TI VPE (Video Processing Engine) driver"
512 depends on VIDEO_DEV && VIDEO_V4L2
513 depends on SOC_DRA7XX || COMPILE_TEST
514 select VIDEOBUF2_DMA_CONTIG
515 select V4L2_MEM2MEM_DEV
516 select VIDEO_TI_VPDMA
520 Support for the TI VPE(Video Processing Engine) block
523 config VIDEO_TI_VPE_DEBUG
524 bool "VPE debug messages"
525 depends on VIDEO_TI_VPE
527 Enable debug messages on VPE driver.
529 config VIDEO_QCOM_VENUS
530 tristate "Qualcomm Venus V4L2 encoder/decoder driver"
531 depends on VIDEO_DEV && VIDEO_V4L2
532 depends on (ARCH_QCOM && IOMMU_DMA) || COMPILE_TEST
533 depends on INTERCONNECT || !INTERCONNECT
534 select QCOM_MDT_LOADER if ARCH_QCOM
535 select QCOM_SCM if ARCH_QCOM
536 select VIDEOBUF2_DMA_SG
537 select V4L2_MEM2MEM_DEV
539 This is a V4L2 driver for Qualcomm Venus video accelerator
540 hardware. It accelerates encoding and decoding operations
541 on various Qualcomm SoCs.
542 To compile this driver as a module choose m here.
544 config VIDEO_SUN8I_DEINTERLACE
545 tristate "Allwinner Deinterlace driver"
546 depends on VIDEO_DEV && VIDEO_V4L2
547 depends on ARCH_SUNXI || COMPILE_TEST
548 depends on COMMON_CLK && OF
550 select VIDEOBUF2_DMA_CONTIG
551 select V4L2_MEM2MEM_DEV
553 Support for the Allwinner deinterlace unit with scaling
554 capability found on some SoCs, like H3.
555 To compile this driver as a module choose m here.
557 config VIDEO_SUN8I_ROTATE
558 tristate "Allwinner DE2 rotation driver"
559 depends on VIDEO_DEV && VIDEO_V4L2
560 depends on ARCH_SUNXI || COMPILE_TEST
561 depends on COMMON_CLK && OF
563 select VIDEOBUF2_DMA_CONTIG
564 select V4L2_MEM2MEM_DEV
566 Support for the Allwinner DE2 rotation unit.
567 To compile this driver as a module choose m here.
569 endif # V4L_MEM2MEM_DRIVERS
571 # TI VIDEO PORT Helper Modules
572 # These will be selected by VPE and VIP
573 config VIDEO_TI_VPDMA
582 menuconfig DVB_PLATFORM_DRIVERS
583 bool "DVB platform devices"
584 depends on MEDIA_DIGITAL_TV_SUPPORT
586 Say Y here to enable support for platform-specific Digital TV drivers.
588 if DVB_PLATFORM_DRIVERS
589 source "drivers/media/platform/sti/c8sectpfe/Kconfig"
590 endif #DVB_PLATFORM_DRIVERS
592 menuconfig SDR_PLATFORM_DRIVERS
593 bool "SDR platform devices"
594 depends on MEDIA_SDR_SUPPORT
596 Say Y here to enable support for platform-specific SDR Drivers.
598 if SDR_PLATFORM_DRIVERS
600 config VIDEO_RCAR_DRIF
601 tristate "Renesas Digital Radio Interface (DRIF)"
602 depends on VIDEO_V4L2
603 depends on ARCH_RENESAS || COMPILE_TEST
604 select VIDEOBUF2_VMALLOC
606 Say Y if you want to enable R-Car Gen3 DRIF support. DRIF is Digital
607 Radio Interface that interfaces with an RF front end chip. It is a
608 receiver of digital data which uses DMA to transfer received data to
609 a configured location for an application to use.
611 To compile this driver as a module, choose M here; the module
612 will be called rcar_drif.
614 endif # SDR_PLATFORM_DRIVERS