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