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 source "drivers/media/platform/exynos4-is/Kconfig"
151 source "drivers/media/platform/am437x/Kconfig"
152 source "drivers/media/platform/xilinx/Kconfig"
153 source "drivers/media/platform/rcar-vin/Kconfig"
154 source "drivers/media/platform/atmel/Kconfig"
155 source "drivers/media/platform/sunxi/Kconfig"
158 tristate "TI CAL (Camera Adaptation Layer) driver"
159 depends on VIDEO_DEV && VIDEO_V4L2
160 select MEDIA_CONTROLLER
161 select VIDEO_V4L2_SUBDEV_API
162 depends on SOC_DRA7XX || ARCH_K3 || COMPILE_TEST
163 select VIDEOBUF2_DMA_CONTIG
166 Support for the TI CAL (Camera Adaptation Layer) block
168 In TI Technical Reference Manual this module is referred as
169 Camera Interface Subsystem (CAMSS).
171 endif # V4L_PLATFORM_DRIVERS
173 menuconfig V4L_MEM2MEM_DRIVERS
174 bool "Memory-to-memory multimedia devices"
175 depends on VIDEO_V4L2
177 Say Y here to enable selecting drivers for V4L devices that
178 use system memory for both source and destination buffers, as opposed
179 to capture and output drivers, which use memory buffers for just
182 if V4L_MEM2MEM_DRIVERS
185 tristate "Chips&Media Coda multi-standard codec IP"
186 depends on VIDEO_DEV && VIDEO_V4L2 && (ARCH_MXC || COMPILE_TEST)
188 select VIDEOBUF2_DMA_CONTIG
189 select VIDEOBUF2_VMALLOC
190 select V4L2_JPEG_HELPER
191 select V4L2_MEM2MEM_DEV
192 select GENERIC_ALLOCATOR
194 Coda is a range of video codec IPs that supports
195 H.264, MPEG-4, and other video formats.
197 config VIDEO_IMX_VDOA
198 def_tristate VIDEO_CODA if SOC_IMX6Q || COMPILE_TEST
201 tristate "i.MX Pixel Pipeline (PXP)"
202 depends on VIDEO_DEV && VIDEO_V4L2 && (ARCH_MXC || COMPILE_TEST)
203 select VIDEOBUF2_DMA_CONTIG
204 select V4L2_MEM2MEM_DEV
206 The i.MX Pixel Pipeline is a memory-to-memory engine for scaling,
207 color space conversion, and rotation.
209 config VIDEO_MEDIATEK_JPEG
210 tristate "Mediatek JPEG Codec driver"
211 depends on MTK_IOMMU_V1 || MTK_IOMMU || COMPILE_TEST
212 depends on VIDEO_DEV && VIDEO_V4L2
213 depends on ARCH_MEDIATEK || COMPILE_TEST
214 select VIDEOBUF2_DMA_CONTIG
215 select V4L2_MEM2MEM_DEV
217 Mediatek jpeg codec driver provides HW capability to decode
220 To compile this driver as a module, choose M here: the
221 module will be called mtk-jpeg
223 config VIDEO_MEDIATEK_VPU
224 tristate "Mediatek Video Processor Unit"
225 depends on VIDEO_DEV && VIDEO_V4L2
226 depends on ARCH_MEDIATEK || COMPILE_TEST
228 This driver provides downloading VPU firmware and
229 communicating with VPU. This driver for hw video
230 codec embedded in Mediatek's MT8173 SOCs. It is able
231 to handle video decoding/encoding in a range of formats.
233 To compile this driver as a module, choose M here: the
234 module will be called mtk-vpu.
236 config VIDEO_MEDIATEK_MDP
237 tristate "Mediatek MDP 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
245 It is a v4l2 driver and present in Mediatek MT8173 SoCs.
246 The driver supports for scaling and color space conversion.
248 To compile this driver as a module, choose M here: the
249 module will be called mtk-mdp.
251 config VIDEO_MEDIATEK_VCODEC
252 tristate "Mediatek Video Codec driver"
253 depends on MTK_IOMMU || COMPILE_TEST
254 depends on VIDEO_DEV && VIDEO_V4L2
255 depends on ARCH_MEDIATEK || COMPILE_TEST
256 depends on VIDEO_MEDIATEK_VPU || MTK_SCP
257 # The two following lines ensure we have the same state ("m" or "y") as
258 # our dependencies, to avoid missing symbols during link.
259 depends on VIDEO_MEDIATEK_VPU || !VIDEO_MEDIATEK_VPU
260 depends on MTK_SCP || !MTK_SCP
261 select VIDEOBUF2_DMA_CONTIG
262 select V4L2_MEM2MEM_DEV
263 select VIDEO_MEDIATEK_VCODEC_VPU if VIDEO_MEDIATEK_VPU
264 select VIDEO_MEDIATEK_VCODEC_SCP if MTK_SCP
266 Mediatek video codec driver provides HW capability to
267 encode and decode in a range of video formats on MT8173
270 Note that support for MT8173 requires VIDEO_MEDIATEK_VPU to
271 also be selected. Support for MT8183 depends on MTK_SCP.
273 To compile this driver as modules, choose M here: the
274 modules will be called mtk-vcodec-dec and mtk-vcodec-enc.
276 config VIDEO_MEDIATEK_VCODEC_VPU
279 config VIDEO_MEDIATEK_VCODEC_SCP
282 config VIDEO_MEM2MEM_DEINTERLACE
283 tristate "Deinterlace support"
284 depends on VIDEO_DEV && VIDEO_V4L2
286 select VIDEOBUF2_DMA_CONTIG
287 select V4L2_MEM2MEM_DEV
289 Generic deinterlacing V4L2 driver.
291 config VIDEO_SAMSUNG_S5P_G2D
292 tristate "Samsung S5P and EXYNOS4 G2D 2d graphics accelerator driver"
293 depends on VIDEO_DEV && VIDEO_V4L2
294 depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
295 select VIDEOBUF2_DMA_CONTIG
296 select V4L2_MEM2MEM_DEV
298 This is a v4l2 driver for Samsung S5P and EXYNOS4 G2D
299 2d graphics accelerator.
301 config VIDEO_SAMSUNG_S5P_JPEG
302 tristate "Samsung S5P/Exynos3250/Exynos4 JPEG codec driver"
303 depends on VIDEO_DEV && VIDEO_V4L2
304 depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
305 select VIDEOBUF2_DMA_CONTIG
306 select V4L2_MEM2MEM_DEV
308 This is a v4l2 driver for Samsung S5P, EXYNOS3250
309 and EXYNOS4 JPEG codec
311 config VIDEO_SAMSUNG_S5P_MFC
312 tristate "Samsung S5P MFC Video Codec"
313 depends on VIDEO_DEV && VIDEO_V4L2
314 depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
315 select VIDEOBUF2_DMA_CONTIG
317 MFC 5.1 and 6.x driver for V4L2
319 config VIDEO_MX2_EMMAPRP
320 tristate "MX2 eMMa-PrP support"
321 depends on VIDEO_DEV && VIDEO_V4L2
322 depends on SOC_IMX27 || COMPILE_TEST
323 select VIDEOBUF2_DMA_CONTIG
324 select V4L2_MEM2MEM_DEV
326 MX2X chips have a PrP that can be used to process buffers from
327 memory to memory. Operations include resizing and format
330 config VIDEO_SAMSUNG_EXYNOS_GSC
331 tristate "Samsung Exynos G-Scaler driver"
332 depends on VIDEO_DEV && VIDEO_V4L2
333 depends on ARCH_EXYNOS || COMPILE_TEST
334 select VIDEOBUF2_DMA_CONTIG
335 select V4L2_MEM2MEM_DEV
337 This is a v4l2 driver for Samsung EXYNOS5 SoC G-Scaler.
339 config VIDEO_STI_BDISP
340 tristate "STMicroelectronics BDISP 2D blitter driver"
341 depends on VIDEO_DEV && VIDEO_V4L2
342 depends on ARCH_STI || COMPILE_TEST
343 select VIDEOBUF2_DMA_CONTIG
344 select V4L2_MEM2MEM_DEV
346 This v4l2 mem2mem driver is a 2D blitter for STMicroelectronics SoC.
349 tristate "STMicroelectronics HVA multi-format video encoder V4L2 driver"
350 depends on VIDEO_DEV && VIDEO_V4L2
351 depends on ARCH_STI || COMPILE_TEST
352 select VIDEOBUF2_DMA_CONTIG
353 select V4L2_MEM2MEM_DEV
355 This V4L2 driver enables HVA (Hardware Video Accelerator) multi-format
356 video encoder of STMicroelectronics SoC, allowing hardware encoding of
357 raw uncompressed formats in various compressed video bitstreams format.
359 To compile this driver as a module, choose M here:
360 the module will be called st-hva.
362 config VIDEO_STI_HVA_DEBUGFS
363 bool "Export STMicroelectronics HVA internals in debugfs"
364 depends on VIDEO_STI_HVA
367 Select this to see information about the internal state and the last
368 operation of STMicroelectronics HVA multi-format video encoder in
371 Choose N unless you know you need this.
373 config VIDEO_STI_DELTA
374 tristate "STMicroelectronics DELTA multi-format video decoder V4L2 driver"
375 depends on VIDEO_DEV && VIDEO_V4L2
376 depends on ARCH_STI || COMPILE_TEST
378 This V4L2 driver enables DELTA multi-format video decoder
379 of STMicroelectronics STiH4xx SoC series allowing hardware
380 decoding of various compressed video bitstream format in
381 raw uncompressed format.
383 Use this option to see the decoders available for such
386 Please notice that the driver will only be built if
387 at least one of the DELTA decoder below is selected.
391 config VIDEO_STI_DELTA_MJPEG
392 bool "STMicroelectronics DELTA MJPEG support"
395 Enables DELTA MJPEG hardware support.
397 To compile this driver as a module, choose M here:
398 the module will be called st-delta.
400 config VIDEO_STI_DELTA_DRIVER
402 depends on VIDEO_STI_DELTA
403 depends on VIDEO_STI_DELTA_MJPEG
404 default VIDEO_STI_DELTA_MJPEG
405 select VIDEOBUF2_DMA_CONTIG
406 select V4L2_MEM2MEM_DEV
409 endif # VIDEO_STI_DELTA
411 config VIDEO_RENESAS_FDP1
412 tristate "Renesas Fine Display Processor"
413 depends on VIDEO_DEV && VIDEO_V4L2
414 depends on ARCH_RENESAS || COMPILE_TEST
415 depends on (!ARM64 && !VIDEO_RENESAS_FCP) || VIDEO_RENESAS_FCP
416 select VIDEOBUF2_DMA_CONTIG
417 select V4L2_MEM2MEM_DEV
419 This is a V4L2 driver for the Renesas Fine Display Processor
420 providing colour space conversion, and de-interlacing features.
422 To compile this driver as a module, choose M here: the module
423 will be called rcar_fdp1.
425 config VIDEO_RENESAS_JPU
426 tristate "Renesas JPEG Processing Unit"
427 depends on VIDEO_DEV && VIDEO_V4L2
428 depends on ARCH_RENESAS || COMPILE_TEST
429 select VIDEOBUF2_DMA_CONTIG
430 select V4L2_MEM2MEM_DEV
432 This is a V4L2 driver for the Renesas JPEG Processing Unit.
434 To compile this driver as a module, choose M here: the module
435 will be called rcar_jpu.
437 config VIDEO_RENESAS_FCP
438 tristate "Renesas Frame Compression Processor"
439 depends on ARCH_RENESAS || COMPILE_TEST
442 This is a driver for the Renesas Frame Compression Processor (FCP).
443 The FCP is a companion module of video processing modules in the
444 Renesas R-Car Gen3 and RZ/G2 SoCs. It handles memory access for
445 the codec, VSP and FDP modules.
447 To compile this driver as a module, choose M here: the module
448 will be called rcar-fcp.
450 config VIDEO_RENESAS_VSP1
451 tristate "Renesas VSP1 Video Processing Engine"
452 depends on VIDEO_V4L2
453 depends on ARCH_RENESAS || COMPILE_TEST
454 depends on (!ARM64 && !VIDEO_RENESAS_FCP) || VIDEO_RENESAS_FCP
455 select MEDIA_CONTROLLER
456 select VIDEO_V4L2_SUBDEV_API
457 select VIDEOBUF2_DMA_CONTIG
458 select VIDEOBUF2_VMALLOC
460 This is a V4L2 driver for the Renesas VSP1 video processing engine.
462 To compile this driver as a module, choose M here: the module
465 config VIDEO_ROCKCHIP_RGA
466 tristate "Rockchip Raster 2d Graphic Acceleration Unit"
467 depends on VIDEO_DEV && VIDEO_V4L2
468 depends on ARCH_ROCKCHIP || COMPILE_TEST
469 select VIDEOBUF2_DMA_SG
470 select V4L2_MEM2MEM_DEV
472 This is a v4l2 driver for Rockchip SOC RGA 2d graphics accelerator.
473 Rockchip RGA is a separate 2D raster graphic acceleration unit.
474 It accelerates 2D graphics operations, such as point/line drawing,
475 image scaling, rotation, BitBLT, alpha blending and image blur/sharpness.
477 To compile this driver as a module choose m here.
480 tristate "TI VPE (Video Processing Engine) driver"
481 depends on VIDEO_DEV && VIDEO_V4L2
482 depends on SOC_DRA7XX || COMPILE_TEST
483 select VIDEOBUF2_DMA_CONTIG
484 select V4L2_MEM2MEM_DEV
485 select VIDEO_TI_VPDMA
489 Support for the TI VPE(Video Processing Engine) block
492 config VIDEO_TI_VPE_DEBUG
493 bool "VPE debug messages"
494 depends on VIDEO_TI_VPE
496 Enable debug messages on VPE driver.
498 config VIDEO_QCOM_VENUS
499 tristate "Qualcomm Venus V4L2 encoder/decoder driver"
500 depends on VIDEO_DEV && VIDEO_V4L2
501 depends on (ARCH_QCOM && IOMMU_DMA) || COMPILE_TEST
502 depends on INTERCONNECT || !INTERCONNECT
503 select QCOM_MDT_LOADER if ARCH_QCOM
504 select QCOM_SCM if ARCH_QCOM
505 select VIDEOBUF2_DMA_SG
506 select V4L2_MEM2MEM_DEV
508 This is a V4L2 driver for Qualcomm Venus video accelerator
509 hardware. It accelerates encoding and decoding operations
510 on various Qualcomm SoCs.
511 To compile this driver as a module choose m here.
513 config VIDEO_SUN8I_DEINTERLACE
514 tristate "Allwinner Deinterlace driver"
515 depends on VIDEO_DEV && VIDEO_V4L2
516 depends on ARCH_SUNXI || COMPILE_TEST
517 depends on COMMON_CLK && OF
519 select VIDEOBUF2_DMA_CONTIG
520 select V4L2_MEM2MEM_DEV
522 Support for the Allwinner deinterlace unit with scaling
523 capability found on some SoCs, like H3.
524 To compile this driver as a module choose m here.
526 config VIDEO_SUN8I_ROTATE
527 tristate "Allwinner DE2 rotation driver"
528 depends on VIDEO_DEV && VIDEO_V4L2
529 depends on ARCH_SUNXI || COMPILE_TEST
530 depends on COMMON_CLK && OF
532 select VIDEOBUF2_DMA_CONTIG
533 select V4L2_MEM2MEM_DEV
535 Support for the Allwinner DE2 rotation unit.
536 To compile this driver as a module choose m here.
538 endif # V4L_MEM2MEM_DRIVERS
540 # TI VIDEO PORT Helper Modules
541 # These will be selected by VPE and VIP
542 config VIDEO_TI_VPDMA
551 menuconfig DVB_PLATFORM_DRIVERS
552 bool "DVB platform devices"
553 depends on MEDIA_DIGITAL_TV_SUPPORT
555 Say Y here to enable support for platform-specific Digital TV drivers.
557 if DVB_PLATFORM_DRIVERS
558 source "drivers/media/platform/sti/c8sectpfe/Kconfig"
559 endif #DVB_PLATFORM_DRIVERS
561 menuconfig SDR_PLATFORM_DRIVERS
562 bool "SDR platform devices"
563 depends on MEDIA_SDR_SUPPORT
565 Say Y here to enable support for platform-specific SDR Drivers.
567 if SDR_PLATFORM_DRIVERS
569 config VIDEO_RCAR_DRIF
570 tristate "Renesas Digital Radio Interface (DRIF)"
571 depends on VIDEO_V4L2
572 depends on ARCH_RENESAS || COMPILE_TEST
573 select VIDEOBUF2_VMALLOC
575 Say Y if you want to enable R-Car Gen3 DRIF support. DRIF is Digital
576 Radio Interface that interfaces with an RF front end chip. It is a
577 receiver of digital data which uses DMA to transfer received data to
578 a configured location for an application to use.
580 To compile this driver as a module, choose M here; the module
581 will be called rcar_drif.
583 endif # SDR_PLATFORM_DRIVERS