Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1# SPDX-License-Identifier: GPL-2.0-only
2#
3# Platform drivers
4# Most drivers here are currently for webcam support
5
6menuconfig V4L_PLATFORM_DRIVERS
7 bool "V4L platform devices"
8 help
9 Say Y here to enable support for platform-specific V4L drivers.
10
11if V4L_PLATFORM_DRIVERS
12
13source "drivers/media/platform/marvell-ccic/Kconfig"
14
15config VIDEO_VIA_CAMERA
16 tristate "VIAFB camera controller support"
17 depends on FB_VIA && VIDEO_V4L2
18 select VIDEOBUF2_DMA_SG
19 select VIDEO_OV7670
20 help
21 Driver support for the integrated camera controller in VIA
22 Chrome9 chipsets. Currently only tested on OLPC xo-1.5 systems
23 with ov7670 sensors.
24
25#
26# Platform multimedia device configuration
27#
28source "drivers/media/platform/cadence/Kconfig"
29
30source "drivers/media/platform/davinci/Kconfig"
31
32source "drivers/media/platform/omap/Kconfig"
33
34config VIDEO_ASPEED
35 tristate "Aspeed AST2400 and AST2500 Video Engine driver"
36 depends on VIDEO_V4L2
37 select VIDEOBUF2_DMA_CONTIG
38 help
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.
42
43config VIDEO_SH_VOU
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
48 help
49 Support for the Video Output Unit (VOU) on SuperH SoCs.
50
51config VIDEO_VIU
52 tristate "Freescale VIU Video Driver"
53 depends on VIDEO_V4L2 && (PPC_MPC512x || COMPILE_TEST) && I2C
54 select VIDEOBUF_DMA_CONTIG
55 default y
56 help
57 Support for Freescale VIU video driver. This device captures
58 video data, or overlays video on DIU frame buffer.
59
60 Say Y here if you want to enable VIU device on MPC5121e Rev2+.
61 In doubt, say N.
62
63config VIDEO_MUX
64 tristate "Video Multiplexer"
65 select MULTIPLEXER
66 depends on VIDEO_V4L2 && OF
67 select MEDIA_CONTROLLER
68 select VIDEO_V4L2_SUBDEV_API
69 select REGMAP
70 select V4L2_FWNODE
71 help
72 This driver provides support for N:1 video bus multiplexers.
73
74config VIDEO_OMAP3
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
83 select MFD_SYSCON
84 select V4L2_FWNODE
85 help
86 Driver for an OMAP 3 camera controller.
87
88config VIDEO_OMAP3_DEBUG
89 bool "OMAP 3 Camera debug messages"
90 depends on VIDEO_OMAP3
91 help
92 Enable debug messages on OMAP 3 camera controller driver.
93
94config VIDEO_PXA27x
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
99 select SG_SPLIT
100 select V4L2_FWNODE
101 help
102 This is a v4l2 driver for the PXA27x Quick Capture Interface
103
104config 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
111 select V4L2_FWNODE
112
113config 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
120 help
121 This is a v4l2 driver for s3c24xx and s3c64xx SoC series camera
122 host interface (CAMIF).
123
124 To compile this driver as a module, choose M here: the module
125 will be called s3c-camif.
126
127config 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
133 select V4L2_FWNODE
134 help
135 This module makes the STM32 Digital Camera Memory Interface (DCMI)
136 available as a v4l2 device.
137
138 To compile this driver as a module, choose M here: the module
139 will be called stm32-dcmi.
140
141config 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
146 select V4L2_FWNODE
147 help
148 This is a v4l2 driver for the Renesas CEU Interface
149
150source "drivers/media/platform/exynos4-is/Kconfig"
151source "drivers/media/platform/am437x/Kconfig"
152source "drivers/media/platform/xilinx/Kconfig"
153source "drivers/media/platform/rcar-vin/Kconfig"
154source "drivers/media/platform/atmel/Kconfig"
155source "drivers/media/platform/sunxi/Kconfig"
156
157config VIDEO_TI_CAL
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
164 select V4L2_FWNODE
165 help
166 Support for the TI CAL (Camera Adaptation Layer) block
167 found on DRA72X SoC.
168 In TI Technical Reference Manual this module is referred as
169 Camera Interface Subsystem (CAMSS).
170
171endif # V4L_PLATFORM_DRIVERS
172
173menuconfig V4L_MEM2MEM_DRIVERS
174 bool "Memory-to-memory multimedia devices"
175 depends on VIDEO_V4L2
176 help
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
180 one of those.
181
182if V4L_MEM2MEM_DRIVERS
183
184config VIDEO_CODA
185 tristate "Chips&Media Coda multi-standard codec IP"
186 depends on VIDEO_DEV && VIDEO_V4L2 && (ARCH_MXC || COMPILE_TEST)
187 select SRAM
188 select VIDEOBUF2_DMA_CONTIG
189 select VIDEOBUF2_VMALLOC
190 select V4L2_JPEG_HELPER
191 select V4L2_MEM2MEM_DEV
192 select GENERIC_ALLOCATOR
193 help
194 Coda is a range of video codec IPs that supports
195 H.264, MPEG-4, and other video formats.
196
197config VIDEO_IMX_VDOA
198 def_tristate VIDEO_CODA if SOC_IMX6Q || COMPILE_TEST
199
200config VIDEO_IMX_PXP
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
205 help
206 The i.MX Pixel Pipeline is a memory-to-memory engine for scaling,
207 color space conversion, and rotation.
208
209config 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
216 help
217 Mediatek jpeg codec driver provides HW capability to decode
218 JPEG format
219
220 To compile this driver as a module, choose M here: the
221 module will be called mtk-jpeg
222
223config VIDEO_MEDIATEK_VPU
224 tristate "Mediatek Video Processor Unit"
225 depends on VIDEO_DEV && VIDEO_V4L2
226 depends on ARCH_MEDIATEK || COMPILE_TEST
227 help
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.
232
233 To compile this driver as a module, choose M here: the
234 module will be called mtk-vpu.
235
236config 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
244 help
245 It is a v4l2 driver and present in Mediatek MT8173 SoCs.
246 The driver supports for scaling and color space conversion.
247
248 To compile this driver as a module, choose M here: the
249 module will be called mtk-mdp.
250
251config 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 select VIDEOBUF2_DMA_CONTIG
257 select V4L2_MEM2MEM_DEV
258 select VIDEO_MEDIATEK_VPU
259 help
260 Mediatek video codec driver provides HW capability to
261 encode and decode in a range of video formats
262 This driver rely on VPU driver to communicate with VPU.
263
264 To compile this driver as a module, choose M here: the
265 module will be called mtk-vcodec
266
267config VIDEO_MEM2MEM_DEINTERLACE
268 tristate "Deinterlace support"
269 depends on VIDEO_DEV && VIDEO_V4L2
270 depends on HAS_DMA
271 select VIDEOBUF2_DMA_CONTIG
272 select V4L2_MEM2MEM_DEV
273 help
274 Generic deinterlacing V4L2 driver.
275
276config VIDEO_SAMSUNG_S5P_G2D
277 tristate "Samsung S5P and EXYNOS4 G2D 2d graphics accelerator driver"
278 depends on VIDEO_DEV && VIDEO_V4L2
279 depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
280 select VIDEOBUF2_DMA_CONTIG
281 select V4L2_MEM2MEM_DEV
282 help
283 This is a v4l2 driver for Samsung S5P and EXYNOS4 G2D
284 2d graphics accelerator.
285
286config VIDEO_SAMSUNG_S5P_JPEG
287 tristate "Samsung S5P/Exynos3250/Exynos4 JPEG codec driver"
288 depends on VIDEO_DEV && VIDEO_V4L2
289 depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
290 select VIDEOBUF2_DMA_CONTIG
291 select V4L2_MEM2MEM_DEV
292 help
293 This is a v4l2 driver for Samsung S5P, EXYNOS3250
294 and EXYNOS4 JPEG codec
295
296config VIDEO_SAMSUNG_S5P_MFC
297 tristate "Samsung S5P MFC Video Codec"
298 depends on VIDEO_DEV && VIDEO_V4L2
299 depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
300 select VIDEOBUF2_DMA_CONTIG
301 help
302 MFC 5.1 and 6.x driver for V4L2
303
304config VIDEO_MX2_EMMAPRP
305 tristate "MX2 eMMa-PrP support"
306 depends on VIDEO_DEV && VIDEO_V4L2
307 depends on SOC_IMX27 || COMPILE_TEST
308 select VIDEOBUF2_DMA_CONTIG
309 select V4L2_MEM2MEM_DEV
310 help
311 MX2X chips have a PrP that can be used to process buffers from
312 memory to memory. Operations include resizing and format
313 conversion.
314
315config VIDEO_SAMSUNG_EXYNOS_GSC
316 tristate "Samsung Exynos G-Scaler driver"
317 depends on VIDEO_DEV && VIDEO_V4L2
318 depends on ARCH_EXYNOS || COMPILE_TEST
319 select VIDEOBUF2_DMA_CONTIG
320 select V4L2_MEM2MEM_DEV
321 help
322 This is a v4l2 driver for Samsung EXYNOS5 SoC G-Scaler.
323
324config VIDEO_STI_BDISP
325 tristate "STMicroelectronics BDISP 2D blitter driver"
326 depends on VIDEO_DEV && VIDEO_V4L2
327 depends on ARCH_STI || COMPILE_TEST
328 select VIDEOBUF2_DMA_CONTIG
329 select V4L2_MEM2MEM_DEV
330 help
331 This v4l2 mem2mem driver is a 2D blitter for STMicroelectronics SoC.
332
333config VIDEO_STI_HVA
334 tristate "STMicroelectronics HVA multi-format video encoder V4L2 driver"
335 depends on VIDEO_DEV && VIDEO_V4L2
336 depends on ARCH_STI || COMPILE_TEST
337 select VIDEOBUF2_DMA_CONTIG
338 select V4L2_MEM2MEM_DEV
339 help
340 This V4L2 driver enables HVA (Hardware Video Accelerator) multi-format
341 video encoder of STMicroelectronics SoC, allowing hardware encoding of
342 raw uncompressed formats in various compressed video bitstreams format.
343
344 To compile this driver as a module, choose M here:
345 the module will be called st-hva.
346
347config VIDEO_STI_HVA_DEBUGFS
348 bool "Export STMicroelectronics HVA internals in debugfs"
349 depends on VIDEO_STI_HVA
350 depends on DEBUG_FS
351 help
352 Select this to see information about the internal state and the last
353 operation of STMicroelectronics HVA multi-format video encoder in
354 debugfs.
355
356 Choose N unless you know you need this.
357
358config VIDEO_STI_DELTA
359 tristate "STMicroelectronics DELTA multi-format video decoder V4L2 driver"
360 depends on VIDEO_DEV && VIDEO_V4L2
361 depends on ARCH_STI || COMPILE_TEST
362 help
363 This V4L2 driver enables DELTA multi-format video decoder
364 of STMicroelectronics STiH4xx SoC series allowing hardware
365 decoding of various compressed video bitstream format in
366 raw uncompressed format.
367
368 Use this option to see the decoders available for such
369 hardware.
370
371 Please notice that the driver will only be built if
372 at least one of the DELTA decoder below is selected.
373
374if VIDEO_STI_DELTA
375
376config VIDEO_STI_DELTA_MJPEG
377 bool "STMicroelectronics DELTA MJPEG support"
378 default y
379 help
380 Enables DELTA MJPEG hardware support.
381
382 To compile this driver as a module, choose M here:
383 the module will be called st-delta.
384
385config VIDEO_STI_DELTA_DRIVER
386 tristate
387 depends on VIDEO_STI_DELTA
388 depends on VIDEO_STI_DELTA_MJPEG
389 default VIDEO_STI_DELTA_MJPEG
390 select VIDEOBUF2_DMA_CONTIG
391 select V4L2_MEM2MEM_DEV
392 select RPMSG
393
394endif # VIDEO_STI_DELTA
395
396config VIDEO_RENESAS_FDP1
397 tristate "Renesas Fine Display Processor"
398 depends on VIDEO_DEV && VIDEO_V4L2
399 depends on ARCH_RENESAS || COMPILE_TEST
400 depends on (!ARM64 && !VIDEO_RENESAS_FCP) || VIDEO_RENESAS_FCP
401 select VIDEOBUF2_DMA_CONTIG
402 select V4L2_MEM2MEM_DEV
403 help
404 This is a V4L2 driver for the Renesas Fine Display Processor
405 providing colour space conversion, and de-interlacing features.
406
407 To compile this driver as a module, choose M here: the module
408 will be called rcar_fdp1.
409
410config VIDEO_RENESAS_JPU
411 tristate "Renesas JPEG Processing Unit"
412 depends on VIDEO_DEV && VIDEO_V4L2
413 depends on ARCH_RENESAS || COMPILE_TEST
414 select VIDEOBUF2_DMA_CONTIG
415 select V4L2_MEM2MEM_DEV
416 help
417 This is a V4L2 driver for the Renesas JPEG Processing Unit.
418
419 To compile this driver as a module, choose M here: the module
420 will be called rcar_jpu.
421
422config VIDEO_RENESAS_FCP
423 tristate "Renesas Frame Compression Processor"
424 depends on ARCH_RENESAS || COMPILE_TEST
425 depends on OF
426 help
427 This is a driver for the Renesas Frame Compression Processor (FCP).
428 The FCP is a companion module of video processing modules in the
429 Renesas R-Car Gen3 SoCs. It handles memory access for the codec,
430 VSP and FDP modules.
431
432 To compile this driver as a module, choose M here: the module
433 will be called rcar-fcp.
434
435config VIDEO_RENESAS_VSP1
436 tristate "Renesas VSP1 Video Processing Engine"
437 depends on VIDEO_V4L2
438 depends on ARCH_RENESAS || COMPILE_TEST
439 depends on (!ARM64 && !VIDEO_RENESAS_FCP) || VIDEO_RENESAS_FCP
440 select MEDIA_CONTROLLER
441 select VIDEO_V4L2_SUBDEV_API
442 select VIDEOBUF2_DMA_CONTIG
443 select VIDEOBUF2_VMALLOC
444 help
445 This is a V4L2 driver for the Renesas VSP1 video processing engine.
446
447 To compile this driver as a module, choose M here: the module
448 will be called vsp1.
449
450config VIDEO_ROCKCHIP_RGA
451 tristate "Rockchip Raster 2d Graphic Acceleration Unit"
452 depends on VIDEO_DEV && VIDEO_V4L2
453 depends on ARCH_ROCKCHIP || COMPILE_TEST
454 select VIDEOBUF2_DMA_SG
455 select V4L2_MEM2MEM_DEV
456 help
457 This is a v4l2 driver for Rockchip SOC RGA 2d graphics accelerator.
458 Rockchip RGA is a separate 2D raster graphic acceleration unit.
459 It accelerates 2D graphics operations, such as point/line drawing,
460 image scaling, rotation, BitBLT, alpha blending and image blur/sharpness.
461
462 To compile this driver as a module choose m here.
463
464config VIDEO_TI_VPE
465 tristate "TI VPE (Video Processing Engine) driver"
466 depends on VIDEO_DEV && VIDEO_V4L2
467 depends on SOC_DRA7XX || COMPILE_TEST
468 select VIDEOBUF2_DMA_CONTIG
469 select V4L2_MEM2MEM_DEV
470 select VIDEO_TI_VPDMA
471 select VIDEO_TI_SC
472 select VIDEO_TI_CSC
473 help
474 Support for the TI VPE(Video Processing Engine) block
475 found on DRA7XX SoC.
476
477config VIDEO_TI_VPE_DEBUG
478 bool "VPE debug messages"
479 depends on VIDEO_TI_VPE
480 help
481 Enable debug messages on VPE driver.
482
483config VIDEO_QCOM_VENUS
484 tristate "Qualcomm Venus V4L2 encoder/decoder driver"
485 depends on VIDEO_DEV && VIDEO_V4L2
486 depends on (ARCH_QCOM && IOMMU_DMA) || COMPILE_TEST
487 depends on INTERCONNECT || !INTERCONNECT
488 select QCOM_MDT_LOADER if ARCH_QCOM
489 select QCOM_SCM if ARCH_QCOM
490 select VIDEOBUF2_DMA_SG
491 select V4L2_MEM2MEM_DEV
492 help
493 This is a V4L2 driver for Qualcomm Venus video accelerator
494 hardware. It accelerates encoding and decoding operations
495 on various Qualcomm SoCs.
496 To compile this driver as a module choose m here.
497
498config VIDEO_SUN8I_DEINTERLACE
499 tristate "Allwinner Deinterlace driver"
500 depends on VIDEO_DEV && VIDEO_V4L2
501 depends on ARCH_SUNXI || COMPILE_TEST
502 depends on COMMON_CLK && OF
503 depends on PM
504 select VIDEOBUF2_DMA_CONTIG
505 select V4L2_MEM2MEM_DEV
506 help
507 Support for the Allwinner deinterlace unit with scaling
508 capability found on some SoCs, like H3.
509 To compile this driver as a module choose m here.
510
511config VIDEO_SUN8I_ROTATE
512 tristate "Allwinner DE2 rotation driver"
513 depends on VIDEO_DEV && VIDEO_V4L2
514 depends on ARCH_SUNXI || COMPILE_TEST
515 depends on COMMON_CLK && OF
516 depends on PM
517 select VIDEOBUF2_DMA_CONTIG
518 select V4L2_MEM2MEM_DEV
519 help
520 Support for the Allwinner DE2 rotation unit.
521 To compile this driver as a module choose m here.
522
523endif # V4L_MEM2MEM_DRIVERS
524
525# TI VIDEO PORT Helper Modules
526# These will be selected by VPE and VIP
527config VIDEO_TI_VPDMA
528 tristate
529
530config VIDEO_TI_SC
531 tristate
532
533config VIDEO_TI_CSC
534 tristate
535
536menuconfig DVB_PLATFORM_DRIVERS
537 bool "DVB platform devices"
538 depends on MEDIA_DIGITAL_TV_SUPPORT
539 help
540 Say Y here to enable support for platform-specific Digital TV drivers.
541
542if DVB_PLATFORM_DRIVERS
543source "drivers/media/platform/sti/c8sectpfe/Kconfig"
544endif #DVB_PLATFORM_DRIVERS
545
546menuconfig SDR_PLATFORM_DRIVERS
547 bool "SDR platform devices"
548 depends on MEDIA_SDR_SUPPORT
549 help
550 Say Y here to enable support for platform-specific SDR Drivers.
551
552if SDR_PLATFORM_DRIVERS
553
554config VIDEO_RCAR_DRIF
555 tristate "Renesas Digital Radio Interface (DRIF)"
556 depends on VIDEO_V4L2
557 depends on ARCH_RENESAS || COMPILE_TEST
558 select VIDEOBUF2_VMALLOC
559 help
560 Say Y if you want to enable R-Car Gen3 DRIF support. DRIF is Digital
561 Radio Interface that interfaces with an RF front end chip. It is a
562 receiver of digital data which uses DMA to transfer received data to
563 a configured location for an application to use.
564
565 To compile this driver as a module, choose M here; the module
566 will be called rcar_drif.
567
568endif # SDR_PLATFORM_DRIVERS