xref: /openbmc/linux/drivers/media/platform/Kconfig (revision 256bf685)
1# SPDX-License-Identifier: GPL-2.0-only
2#
3# Platform drivers
4#	Most drivers here are currently for webcam support
5
6config V4L_PLATFORM_DRIVERS
7	bool "V4L platform devices"
8	help
9	  Say Y here to enable support for platform-specific V4L drivers.
10
11config SDR_PLATFORM_DRIVERS
12	bool "SDR platform devices"
13	depends on MEDIA_SDR_SUPPORT
14	help
15	  Say Y here to enable support for platform-specific SDR Drivers.
16
17config DVB_PLATFORM_DRIVERS
18	bool "DVB platform devices"
19	depends on MEDIA_DIGITAL_TV_SUPPORT
20	help
21	  Say Y here to enable support for platform-specific Digital TV drivers.
22
23config V4L_MEM2MEM_DRIVERS
24	bool "Memory-to-memory multimedia devices"
25	depends on VIDEO_V4L2
26	help
27	  Say Y here to enable selecting drivers for V4L devices that
28	  use system memory for both source and destination buffers, as opposed
29	  to capture and output drivers, which use memory buffers for just
30	  one of those.
31
32# V4L platform drivers
33
34source "drivers/media/platform/marvell-ccic/Kconfig"
35
36config VIDEO_VIA_CAMERA
37	tristate "VIAFB camera controller support"
38	depends on V4L_PLATFORM_DRIVERS
39	depends on FB_VIA && VIDEO_V4L2
40	select VIDEOBUF2_DMA_SG
41	select VIDEO_OV7670
42	help
43	   Driver support for the integrated camera controller in VIA
44	   Chrome9 chipsets.  Currently only tested on OLPC xo-1.5 systems
45	   with ov7670 sensors.
46
47source "drivers/media/platform/cadence/Kconfig"
48
49source "drivers/media/platform/davinci/Kconfig"
50
51source "drivers/media/platform/omap/Kconfig"
52
53config VIDEO_ASPEED
54	tristate "Aspeed AST2400 and AST2500 Video Engine driver"
55	depends on V4L_PLATFORM_DRIVERS
56	depends on VIDEO_V4L2
57	select VIDEOBUF2_DMA_CONTIG
58	help
59	  Support for the Aspeed Video Engine (VE) embedded in the Aspeed
60	  AST2400 and AST2500 SOCs. The VE can capture and compress video data
61	  from digital or analog sources.
62
63config VIDEO_SH_VOU
64	tristate "SuperH VOU video output driver"
65	depends on V4L_PLATFORM_DRIVERS
66	depends on VIDEO_DEV && I2C
67	depends on ARCH_SHMOBILE || COMPILE_TEST
68	select VIDEOBUF2_DMA_CONTIG
69	help
70	  Support for the Video Output Unit (VOU) on SuperH SoCs.
71
72config VIDEO_VIU
73	tristate "Freescale VIU Video Driver"
74	depends on V4L_PLATFORM_DRIVERS
75	depends on VIDEO_V4L2 && (PPC_MPC512x || COMPILE_TEST) && I2C
76	select VIDEOBUF_DMA_CONTIG
77	default y
78	help
79	  Support for Freescale VIU video driver. This device captures
80	  video data, or overlays video on DIU frame buffer.
81
82	  Say Y here if you want to enable VIU device on MPC5121e Rev2+.
83	  In doubt, say N.
84
85config VIDEO_MUX
86	tristate "Video Multiplexer"
87	depends on V4L_PLATFORM_DRIVERS
88	select MULTIPLEXER
89	depends on VIDEO_V4L2 && OF
90	select MEDIA_CONTROLLER
91	select VIDEO_V4L2_SUBDEV_API
92	select REGMAP
93	select V4L2_FWNODE
94	help
95	  This driver provides support for N:1 video bus multiplexers.
96
97config VIDEO_OMAP3
98	tristate "OMAP 3 Camera support"
99	depends on V4L_PLATFORM_DRIVERS
100	depends on VIDEO_V4L2 && I2C
101	depends on (ARCH_OMAP3 && OMAP_IOMMU) || COMPILE_TEST
102	depends on COMMON_CLK && OF
103	select ARM_DMA_USE_IOMMU if OMAP_IOMMU
104	select MEDIA_CONTROLLER
105	select VIDEO_V4L2_SUBDEV_API
106	select VIDEOBUF2_DMA_CONTIG
107	select MFD_SYSCON
108	select V4L2_FWNODE
109	help
110	  Driver for an OMAP 3 camera controller.
111
112config VIDEO_OMAP3_DEBUG
113	bool "OMAP 3 Camera debug messages"
114	depends on VIDEO_OMAP3
115	help
116	  Enable debug messages on OMAP 3 camera controller driver.
117
118config VIDEO_PXA27x
119	tristate "PXA27x Quick Capture Interface driver"
120	depends on V4L_PLATFORM_DRIVERS
121	depends on VIDEO_DEV && VIDEO_V4L2
122	depends on PXA27x || COMPILE_TEST
123	select VIDEOBUF2_DMA_SG
124	select SG_SPLIT
125	select V4L2_FWNODE
126	help
127	  This is a v4l2 driver for the PXA27x Quick Capture Interface
128
129config VIDEO_QCOM_CAMSS
130	tristate "Qualcomm V4L2 Camera Subsystem driver"
131	depends on V4L_PLATFORM_DRIVERS
132	depends on VIDEO_V4L2
133	depends on (ARCH_QCOM && IOMMU_DMA) || COMPILE_TEST
134	select MEDIA_CONTROLLER
135	select VIDEO_V4L2_SUBDEV_API
136	select VIDEOBUF2_DMA_SG
137	select V4L2_FWNODE
138
139config VIDEO_S3C_CAMIF
140	tristate "Samsung S3C24XX/S3C64XX SoC Camera Interface driver"
141	depends on V4L_PLATFORM_DRIVERS
142	depends on VIDEO_V4L2 && I2C && PM
143	depends on ARCH_S3C64XX || PLAT_S3C24XX || COMPILE_TEST
144	select MEDIA_CONTROLLER
145	select VIDEO_V4L2_SUBDEV_API
146	select VIDEOBUF2_DMA_CONTIG
147	help
148	  This is a v4l2 driver for s3c24xx and s3c64xx SoC series camera
149	  host interface (CAMIF).
150
151	  To compile this driver as a module, choose M here: the module
152	  will be called s3c-camif.
153
154config VIDEO_STM32_DCMI
155	tristate "STM32 Digital Camera Memory Interface (DCMI) support"
156	depends on V4L_PLATFORM_DRIVERS
157	depends on VIDEO_V4L2 && OF
158	depends on ARCH_STM32 || COMPILE_TEST
159	select VIDEOBUF2_DMA_CONTIG
160	select MEDIA_CONTROLLER
161	select V4L2_FWNODE
162	help
163	  This module makes the STM32 Digital Camera Memory Interface (DCMI)
164	  available as a v4l2 device.
165
166	  To compile this driver as a module, choose M here: the module
167	  will be called stm32-dcmi.
168
169config VIDEO_RENESAS_CEU
170	tristate "Renesas Capture Engine Unit (CEU) driver"
171	depends on V4L_PLATFORM_DRIVERS
172	depends on VIDEO_DEV && VIDEO_V4L2
173	depends on ARCH_SHMOBILE || ARCH_R7S72100 || COMPILE_TEST
174	select VIDEOBUF2_DMA_CONTIG
175	select V4L2_FWNODE
176	help
177	  This is a v4l2 driver for the Renesas CEU Interface
178
179config VIDEO_ROCKCHIP_ISP1
180	tristate "Rockchip Image Signal Processing v1 Unit driver"
181	depends on V4L_PLATFORM_DRIVERS
182	depends on VIDEO_V4L2 && OF
183	depends on ARCH_ROCKCHIP || COMPILE_TEST
184	select MEDIA_CONTROLLER
185	select VIDEO_V4L2_SUBDEV_API
186	select VIDEOBUF2_DMA_CONTIG
187	select VIDEOBUF2_VMALLOC
188	select V4L2_FWNODE
189	select GENERIC_PHY_MIPI_DPHY
190	default n
191	help
192	  Enable this to support the Image Signal Processing (ISP) module
193	  present in RK3399 SoCs.
194
195	  To compile this driver as a module, choose M here: the module
196	  will be called rockchip-isp1.
197
198source "drivers/media/platform/exynos4-is/Kconfig"
199source "drivers/media/platform/am437x/Kconfig"
200source "drivers/media/platform/xilinx/Kconfig"
201source "drivers/media/platform/rcar-vin/Kconfig"
202source "drivers/media/platform/atmel/Kconfig"
203source "drivers/media/platform/sunxi/Kconfig"
204source "drivers/media/platform/imx/Kconfig"
205
206config VIDEO_TI_CAL
207	tristate "TI CAL (Camera Adaptation Layer) driver"
208	depends on V4L_PLATFORM_DRIVERS
209	depends on VIDEO_DEV && VIDEO_V4L2
210	select MEDIA_CONTROLLER
211	select VIDEO_V4L2_SUBDEV_API
212	depends on SOC_DRA7XX || ARCH_K3 || COMPILE_TEST
213	select VIDEOBUF2_DMA_CONTIG
214	select V4L2_FWNODE
215	help
216	  Support for the TI CAL (Camera Adaptation Layer) block
217	  found on DRA72X SoC.
218	  In TI Technical Reference Manual this module is referred as
219	  Camera Interface Subsystem (CAMSS).
220
221config VIDEO_TI_CAL_MC
222	bool "Media Controller centric mode by default"
223	depends on VIDEO_TI_CAL
224	default n
225	help
226	  Enables Media Controller centric mode by default.
227
228	  If set, CAL driver will start in Media Controller mode by
229	  default. Note that this behavior can be overridden via
230	  module parameter 'mc_api'.
231
232config VIDEO_RCAR_ISP
233	tristate "R-Car Image Signal Processor (ISP)"
234	depends on V4L_PLATFORM_DRIVERS
235	depends on VIDEO_V4L2 && OF
236	depends on ARCH_RENESAS || COMPILE_TEST
237	select MEDIA_CONTROLLER
238	select VIDEO_V4L2_SUBDEV_API
239	select RESET_CONTROLLER
240	select V4L2_FWNODE
241	help
242	  Support for Renesas R-Car Image Signal Processor (ISP).
243	  Enable this to support the Renesas R-Car Image Signal
244	  Processor (ISP).
245
246	  To compile this driver as a module, choose M here: the
247	  module will be called rcar-isp.
248
249# Mem2mem drivers
250
251config VIDEO_ALLEGRO_DVT
252	tristate "Allegro DVT Video IP Core"
253	depends on V4L_MEM2MEM_DRIVERS
254	depends on VIDEO_DEV && VIDEO_V4L2
255	depends on ARCH_ZYNQMP || COMPILE_TEST
256	select V4L2_MEM2MEM_DEV
257	select VIDEOBUF2_DMA_CONTIG
258	select REGMAP_MMIO
259	help
260	  Support for the encoder video IP core by Allegro DVT. This core is
261	  found for example on the Xilinx ZynqMP SoC in the EV family and is
262	  called VCU in the reference manual.
263
264	  To compile this driver as a module, choose M here: the module
265	  will be called allegro.
266
267config VIDEO_CODA
268	tristate "Chips&Media Coda multi-standard codec IP"
269	depends on V4L_MEM2MEM_DRIVERS
270	depends on VIDEO_DEV && VIDEO_V4L2 && OF && (ARCH_MXC || COMPILE_TEST)
271	select SRAM
272	select VIDEOBUF2_DMA_CONTIG
273	select VIDEOBUF2_VMALLOC
274	select V4L2_JPEG_HELPER
275	select V4L2_MEM2MEM_DEV
276	select GENERIC_ALLOCATOR
277	help
278	   Coda is a range of video codec IPs that supports
279	   H.264, MPEG-4, and other video formats.
280
281config VIDEO_IMX_VDOA
282	def_tristate VIDEO_CODA if SOC_IMX6Q || COMPILE_TEST
283
284config VIDEO_IMX_PXP
285	tristate "i.MX Pixel Pipeline (PXP)"
286	depends on V4L_MEM2MEM_DRIVERS
287	depends on VIDEO_DEV && VIDEO_V4L2 && (ARCH_MXC || COMPILE_TEST)
288	select VIDEOBUF2_DMA_CONTIG
289	select V4L2_MEM2MEM_DEV
290	help
291	  The i.MX Pixel Pipeline is a memory-to-memory engine for scaling,
292	  color space conversion, and rotation.
293
294source "drivers/media/platform/imx-jpeg/Kconfig"
295
296config VIDEO_MEDIATEK_JPEG
297	tristate "Mediatek JPEG Codec driver"
298	depends on V4L_MEM2MEM_DRIVERS
299	depends on MTK_IOMMU_V1 || MTK_IOMMU || COMPILE_TEST
300	depends on VIDEO_DEV && VIDEO_V4L2
301	depends on ARCH_MEDIATEK || COMPILE_TEST
302	depends on MTK_SMI || (COMPILE_TEST && MTK_SMI=n)
303	select VIDEOBUF2_DMA_CONTIG
304	select V4L2_MEM2MEM_DEV
305	help
306	  Mediatek jpeg codec driver provides HW capability to decode
307	  JPEG format
308
309	  To compile this driver as a module, choose M here: the
310	  module will be called mtk-jpeg
311
312config VIDEO_MEDIATEK_VPU
313	tristate "Mediatek Video Processor Unit"
314	depends on V4L_MEM2MEM_DRIVERS
315	depends on VIDEO_DEV && VIDEO_V4L2
316	depends on ARCH_MEDIATEK || COMPILE_TEST
317	help
318	    This driver provides downloading VPU firmware and
319	    communicating with VPU. This driver for hw video
320	    codec embedded in Mediatek's MT8173 SOCs. It is able
321	    to handle video decoding/encoding in a range of formats.
322
323	    To compile this driver as a module, choose M here: the
324	    module will be called mtk-vpu.
325
326config VIDEO_MEDIATEK_MDP
327	tristate "Mediatek MDP driver"
328	depends on V4L_MEM2MEM_DRIVERS
329	depends on MTK_IOMMU || COMPILE_TEST
330	depends on VIDEO_DEV && VIDEO_V4L2
331	depends on ARCH_MEDIATEK || COMPILE_TEST
332	depends on MTK_SMI || (COMPILE_TEST && MTK_SMI=n)
333	select VIDEOBUF2_DMA_CONTIG
334	select V4L2_MEM2MEM_DEV
335	select VIDEO_MEDIATEK_VPU
336	help
337	    It is a v4l2 driver and present in Mediatek MT8173 SoCs.
338	    The driver supports for scaling and color space conversion.
339
340	    To compile this driver as a module, choose M here: the
341	    module will be called mtk-mdp.
342
343config VIDEO_MEDIATEK_VCODEC
344	tristate "Mediatek Video Codec driver"
345	depends on V4L_MEM2MEM_DRIVERS
346	depends on MTK_IOMMU || COMPILE_TEST
347	depends on VIDEO_DEV && VIDEO_V4L2
348	depends on ARCH_MEDIATEK || COMPILE_TEST
349	depends on VIDEO_MEDIATEK_VPU || MTK_SCP
350	# The two following lines ensure we have the same state ("m" or "y") as
351	# our dependencies, to avoid missing symbols during link.
352	depends on VIDEO_MEDIATEK_VPU || !VIDEO_MEDIATEK_VPU
353	depends on MTK_SCP || !MTK_SCP
354	depends on MTK_SMI || (COMPILE_TEST && MTK_SMI=n)
355	select VIDEOBUF2_DMA_CONTIG
356	select V4L2_MEM2MEM_DEV
357	select VIDEO_MEDIATEK_VCODEC_VPU if VIDEO_MEDIATEK_VPU
358	select VIDEO_MEDIATEK_VCODEC_SCP if MTK_SCP
359	select V4L2_H264
360	select MEDIA_CONTROLLER
361	select MEDIA_CONTROLLER_REQUEST_API
362	help
363	  Mediatek video codec driver provides HW capability to
364	  encode and decode in a range of video formats on MT8173
365	  and MT8183.
366
367	  Note that support for MT8173 requires VIDEO_MEDIATEK_VPU to
368	  also be selected. Support for MT8183 depends on MTK_SCP.
369
370	  To compile this driver as modules, choose M here: the
371	  modules will be called mtk-vcodec-dec and mtk-vcodec-enc.
372
373config VIDEO_MEDIATEK_VCODEC_VPU
374	bool
375
376config VIDEO_MEDIATEK_VCODEC_SCP
377	bool
378
379config VIDEO_MEM2MEM_DEINTERLACE
380	tristate "Deinterlace support"
381	depends on V4L_MEM2MEM_DRIVERS
382	depends on VIDEO_DEV && VIDEO_V4L2
383	depends on HAS_DMA
384	select VIDEOBUF2_DMA_CONTIG
385	select V4L2_MEM2MEM_DEV
386	help
387	    Generic deinterlacing V4L2 driver.
388
389config VIDEO_MESON_GE2D
390	tristate "Amlogic 2D Graphic Acceleration Unit"
391	depends on V4L_MEM2MEM_DRIVERS
392	depends on VIDEO_DEV && VIDEO_V4L2
393	depends on ARCH_MESON || COMPILE_TEST
394	select VIDEOBUF2_DMA_CONTIG
395	select V4L2_MEM2MEM_DEV
396	help
397	  This is a v4l2 driver for Amlogic GE2D 2D graphics accelerator.
398	  GE2D is a standalone 2D graphic acceleration unit, with color converter,
399	  image scaling, BitBLT & alpha blending operations.
400
401	  To compile this driver as a module choose m here.
402
403config VIDEO_SAMSUNG_S5P_G2D
404	tristate "Samsung S5P and EXYNOS4 G2D 2d graphics accelerator driver"
405	depends on V4L_MEM2MEM_DRIVERS
406	depends on VIDEO_DEV && VIDEO_V4L2
407	depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
408	select VIDEOBUF2_DMA_CONTIG
409	select V4L2_MEM2MEM_DEV
410	help
411	  This is a v4l2 driver for Samsung S5P and EXYNOS4 G2D
412	  2d graphics accelerator.
413
414config VIDEO_SAMSUNG_S5P_JPEG
415	tristate "Samsung S5P/Exynos3250/Exynos4 JPEG codec driver"
416	depends on V4L_MEM2MEM_DRIVERS
417	depends on VIDEO_DEV && VIDEO_V4L2
418	depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
419	select VIDEOBUF2_DMA_CONTIG
420	select V4L2_MEM2MEM_DEV
421	help
422	  This is a v4l2 driver for Samsung S5P, EXYNOS3250
423	  and EXYNOS4 JPEG codec
424
425config VIDEO_SAMSUNG_S5P_MFC
426	tristate "Samsung S5P MFC Video Codec"
427	depends on V4L_MEM2MEM_DRIVERS
428	depends on VIDEO_DEV && VIDEO_V4L2
429	depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
430	select VIDEOBUF2_DMA_CONTIG
431	help
432	    MFC 5.1 and 6.x driver for V4L2
433
434config VIDEO_MX2_EMMAPRP
435	tristate "MX2 eMMa-PrP support"
436	depends on V4L_MEM2MEM_DRIVERS
437	depends on VIDEO_DEV && VIDEO_V4L2
438	depends on SOC_IMX27 || COMPILE_TEST
439	select VIDEOBUF2_DMA_CONTIG
440	select V4L2_MEM2MEM_DEV
441	help
442	    MX2X chips have a PrP that can be used to process buffers from
443	    memory to memory. Operations include resizing and format
444	    conversion.
445
446config VIDEO_SAMSUNG_EXYNOS_GSC
447	tristate "Samsung Exynos G-Scaler driver"
448	depends on V4L_MEM2MEM_DRIVERS
449	depends on VIDEO_DEV && VIDEO_V4L2
450	depends on ARCH_EXYNOS || COMPILE_TEST
451	select VIDEOBUF2_DMA_CONTIG
452	select V4L2_MEM2MEM_DEV
453	help
454	  This is a v4l2 driver for Samsung EXYNOS5 SoC G-Scaler.
455
456config VIDEO_STI_BDISP
457	tristate "STMicroelectronics BDISP 2D blitter driver"
458	depends on V4L_MEM2MEM_DRIVERS
459	depends on VIDEO_DEV && VIDEO_V4L2
460	depends on ARCH_STI || COMPILE_TEST
461	select VIDEOBUF2_DMA_CONTIG
462	select V4L2_MEM2MEM_DEV
463	help
464	  This v4l2 mem2mem driver is a 2D blitter for STMicroelectronics SoC.
465
466config VIDEO_STI_HVA
467	tristate "STMicroelectronics HVA multi-format video encoder V4L2 driver"
468	depends on V4L_MEM2MEM_DRIVERS
469	depends on VIDEO_DEV && VIDEO_V4L2
470	depends on ARCH_STI || COMPILE_TEST
471	select VIDEOBUF2_DMA_CONTIG
472	select V4L2_MEM2MEM_DEV
473	help
474	  This V4L2 driver enables HVA (Hardware Video Accelerator) multi-format
475	  video encoder of STMicroelectronics SoC, allowing hardware encoding of
476	  raw uncompressed formats in various compressed video bitstreams format.
477
478	  To compile this driver as a module, choose M here:
479	  the module will be called st-hva.
480
481config VIDEO_STI_HVA_DEBUGFS
482	bool "Export STMicroelectronics HVA internals in debugfs"
483	depends on V4L_MEM2MEM_DRIVERS
484	depends on VIDEO_STI_HVA
485	depends on DEBUG_FS
486	help
487	  Select this to see information about the internal state and the last
488	  operation of STMicroelectronics HVA multi-format video encoder in
489	  debugfs.
490
491	  Choose N unless you know you need this.
492
493config VIDEO_STI_DELTA
494	tristate "STMicroelectronics DELTA multi-format video decoder V4L2 driver"
495	depends on V4L_MEM2MEM_DRIVERS
496	depends on VIDEO_DEV && VIDEO_V4L2
497	depends on ARCH_STI || COMPILE_TEST
498	help
499		This V4L2 driver enables DELTA multi-format video decoder
500		of STMicroelectronics STiH4xx SoC series allowing hardware
501		decoding of various compressed video bitstream format in
502		raw uncompressed format.
503
504		Use this option to see the decoders available for such
505		hardware.
506
507		Please notice that the driver will only be built if
508		at least one of the DELTA decoder below is selected.
509
510config VIDEO_STI_DELTA_MJPEG
511	bool "STMicroelectronics DELTA MJPEG support"
512	default y
513	depends on VIDEO_STI_DELTA
514	help
515		Enables DELTA MJPEG hardware support.
516
517		To compile this driver as a module, choose M here:
518		the module will be called st-delta.
519
520config VIDEO_STI_DELTA_DRIVER
521	tristate
522	depends on VIDEO_STI_DELTA
523	depends on VIDEO_STI_DELTA_MJPEG
524	default VIDEO_STI_DELTA_MJPEG
525	select VIDEOBUF2_DMA_CONTIG
526	select V4L2_MEM2MEM_DEV
527	select RPMSG
528
529config VIDEO_STM32_DMA2D
530	tristate "STM32 Chrom-Art Accelerator (DMA2D)"
531	depends on V4L_MEM2MEM_DRIVERS
532	depends on VIDEO_DEV && VIDEO_V4L2
533	depends on ARCH_STM32 || COMPILE_TEST
534	select VIDEOBUF2_DMA_CONTIG
535	select V4L2_MEM2MEM_DEV
536	help
537	  Enables DMA2D hardware support on stm32.
538
539	  The STM32 DMA2D is a memory-to-memory engine for pixel conversion
540	  and specialized DMA dedicated to image manipulation.
541
542config VIDEO_RENESAS_FDP1
543	tristate "Renesas Fine Display Processor"
544	depends on V4L_MEM2MEM_DRIVERS
545	depends on VIDEO_DEV && VIDEO_V4L2
546	depends on ARCH_RENESAS || COMPILE_TEST
547	depends on (!ARM64 && !VIDEO_RENESAS_FCP) || VIDEO_RENESAS_FCP
548	select VIDEOBUF2_DMA_CONTIG
549	select V4L2_MEM2MEM_DEV
550	help
551	  This is a V4L2 driver for the Renesas Fine Display Processor
552	  providing colour space conversion, and de-interlacing features.
553
554	  To compile this driver as a module, choose M here: the module
555	  will be called rcar_fdp1.
556
557config VIDEO_RENESAS_JPU
558	tristate "Renesas JPEG Processing Unit"
559	depends on V4L_MEM2MEM_DRIVERS
560	depends on VIDEO_DEV && VIDEO_V4L2
561	depends on ARCH_RENESAS || COMPILE_TEST
562	select VIDEOBUF2_DMA_CONTIG
563	select V4L2_MEM2MEM_DEV
564	help
565	  This is a V4L2 driver for the Renesas JPEG Processing Unit.
566
567	  To compile this driver as a module, choose M here: the module
568	  will be called rcar_jpu.
569
570config VIDEO_RENESAS_FCP
571	tristate "Renesas Frame Compression Processor"
572	depends on V4L_MEM2MEM_DRIVERS
573	depends on ARCH_RENESAS || COMPILE_TEST
574	depends on OF
575	help
576	  This is a driver for the Renesas Frame Compression Processor (FCP).
577	  The FCP is a companion module of video processing modules in the
578	  Renesas R-Car Gen3 and RZ/G2 SoCs. It handles memory access for
579	  the codec, VSP and FDP modules.
580
581	  To compile this driver as a module, choose M here: the module
582	  will be called rcar-fcp.
583
584config VIDEO_RENESAS_VSP1
585	tristate "Renesas VSP1 Video Processing Engine"
586	depends on V4L_MEM2MEM_DRIVERS
587	depends on VIDEO_V4L2
588	depends on ARCH_RENESAS || COMPILE_TEST
589	depends on (!ARM64 && !VIDEO_RENESAS_FCP) || VIDEO_RENESAS_FCP
590	select MEDIA_CONTROLLER
591	select VIDEO_V4L2_SUBDEV_API
592	select VIDEOBUF2_DMA_CONTIG
593	select VIDEOBUF2_VMALLOC
594	help
595	  This is a V4L2 driver for the Renesas VSP1 video processing engine.
596
597	  To compile this driver as a module, choose M here: the module
598	  will be called vsp1.
599
600config VIDEO_ROCKCHIP_RGA
601	tristate "Rockchip Raster 2d Graphic Acceleration Unit"
602	depends on V4L_MEM2MEM_DRIVERS
603	depends on VIDEO_DEV && VIDEO_V4L2
604	depends on ARCH_ROCKCHIP || COMPILE_TEST
605	select VIDEOBUF2_DMA_SG
606	select V4L2_MEM2MEM_DEV
607	help
608	  This is a v4l2 driver for Rockchip SOC RGA 2d graphics accelerator.
609	  Rockchip RGA is a separate 2D raster graphic acceleration unit.
610	  It accelerates 2D graphics operations, such as point/line drawing,
611	  image scaling, rotation, BitBLT, alpha blending and image blur/sharpness.
612
613	  To compile this driver as a module choose m here.
614
615config VIDEO_TI_VPE
616	tristate "TI VPE (Video Processing Engine) driver"
617	depends on V4L_MEM2MEM_DRIVERS
618	depends on VIDEO_DEV && VIDEO_V4L2
619	depends on SOC_DRA7XX || COMPILE_TEST
620	select VIDEOBUF2_DMA_CONTIG
621	select V4L2_MEM2MEM_DEV
622	select VIDEO_TI_VPDMA
623	select VIDEO_TI_SC
624	select VIDEO_TI_CSC
625	help
626	  Support for the TI VPE(Video Processing Engine) block
627	  found on DRA7XX SoC.
628
629config VIDEO_TI_VPE_DEBUG
630	bool "VPE debug messages"
631	depends on V4L_MEM2MEM_DRIVERS
632	depends on VIDEO_TI_VPE
633	help
634	  Enable debug messages on VPE driver.
635
636config VIDEO_QCOM_VENUS
637	tristate "Qualcomm Venus V4L2 encoder/decoder driver"
638	depends on V4L_MEM2MEM_DRIVERS
639	depends on VIDEO_DEV && VIDEO_V4L2 && QCOM_SMEM
640	depends on (ARCH_QCOM && IOMMU_DMA) || COMPILE_TEST
641	select QCOM_MDT_LOADER if ARCH_QCOM
642	select QCOM_SCM
643	select VIDEOBUF2_DMA_CONTIG
644	select V4L2_MEM2MEM_DEV
645	help
646	  This is a V4L2 driver for Qualcomm Venus video accelerator
647	  hardware. It accelerates encoding and decoding operations
648	  on various Qualcomm SoCs.
649	  To compile this driver as a module choose m here.
650
651config VIDEO_SUN8I_DEINTERLACE
652	tristate "Allwinner Deinterlace driver"
653	depends on V4L_MEM2MEM_DRIVERS
654	depends on VIDEO_DEV && VIDEO_V4L2
655	depends on ARCH_SUNXI || COMPILE_TEST
656	depends on COMMON_CLK && OF
657	depends on PM
658	select VIDEOBUF2_DMA_CONTIG
659	select V4L2_MEM2MEM_DEV
660	help
661	   Support for the Allwinner deinterlace unit with scaling
662	   capability found on some SoCs, like H3.
663	   To compile this driver as a module choose m here.
664
665config VIDEO_SUN8I_ROTATE
666	tristate "Allwinner DE2 rotation driver"
667	depends on V4L_MEM2MEM_DRIVERS
668	depends on VIDEO_DEV && VIDEO_V4L2
669	depends on ARCH_SUNXI || COMPILE_TEST
670	depends on COMMON_CLK && OF
671	depends on PM
672	select VIDEOBUF2_DMA_CONTIG
673	select V4L2_MEM2MEM_DEV
674	help
675	   Support for the Allwinner DE2 rotation unit.
676	   To compile this driver as a module choose m here.
677
678config VIDEO_TEGRA_VDE
679	tristate "NVIDIA Tegra Video Decoder Engine driver"
680	depends on V4L_MEM2MEM_DRIVERS
681	depends on ARCH_TEGRA || COMPILE_TEST
682	depends on VIDEO_DEV && VIDEO_V4L2
683	select DMA_SHARED_BUFFER
684	select IOMMU_IOVA
685	select MEDIA_CONTROLLER
686	select MEDIA_CONTROLLER_REQUEST_API
687	select SRAM
688	select VIDEOBUF2_DMA_CONTIG
689	select VIDEOBUF2_DMA_SG
690	select V4L2_H264
691	select V4L2_MEM2MEM_DEV
692	help
693	   Support for the NVIDIA Tegra video decoder unit.
694	   To compile this driver as a module choose m here.
695
696config VIDEO_AMPHION_VPU
697	tristate "Amphion VPU (Video Processing Unit) Codec IP"
698	depends on V4L_MEM2MEM_DRIVERS
699	depends on ARCH_MXC || COMPILE_TEST
700	depends on MEDIA_SUPPORT
701	depends on VIDEO_DEV
702	depends on VIDEO_V4L2
703	select MEDIA_CONTROLLER
704	select V4L2_MEM2MEM_DEV
705	select VIDEOBUF2_DMA_CONTIG
706	select VIDEOBUF2_VMALLOC
707	help
708	  Amphion VPU Codec IP contains two parts: Windsor and Malone.
709	  Windsor is encoder that supports H.264, and Malone is decoder
710	  that supports H.264, HEVC, and other video formats.
711	  This is a V4L2 driver for NXP MXC 8Q video accelerator hardware.
712	  It accelerates encoding and decoding operations on
713	  various NXP SoCs.
714	  To compile this driver as a module choose m here.
715
716# TI VIDEO PORT Helper Modules
717# These will be selected by VPE and VIP
718config VIDEO_TI_VPDMA
719	tristate
720
721config VIDEO_TI_SC
722	tristate
723
724config VIDEO_TI_CSC
725	tristate
726
727# DVB platform drivers
728source "drivers/media/platform/sti/c8sectpfe/Kconfig"
729
730# SDR platform drivers
731config VIDEO_RCAR_DRIF
732	tristate "Renesas Digital Radio Interface (DRIF)"
733	depends on SDR_PLATFORM_DRIVERS
734	depends on VIDEO_V4L2
735	depends on ARCH_RENESAS || COMPILE_TEST
736	select VIDEOBUF2_VMALLOC
737	select V4L2_ASYNC
738	help
739	  Say Y if you want to enable R-Car Gen3 DRIF support. DRIF is Digital
740	  Radio Interface that interfaces with an RF front end chip. It is a
741	  receiver of digital data which uses DMA to transfer received data to
742	  a configured location for an application to use.
743
744	  To compile this driver as a module, choose M here; the module
745	  will be called rcar_drif.
746