xref: /linux/drivers/media/platform/Kconfig (revision a93d429b51fbd5c3406bd1bc1f2bdf5f009d098b)
1#
2# Platform drivers
3#	Most drivers here are currently for webcam support
4
5menuconfig V4L_PLATFORM_DRIVERS
6	bool "V4L platform devices"
7	depends on MEDIA_CAMERA_SUPPORT
8	default n
9	---help---
10	  Say Y here to enable support for platform-specific V4L drivers.
11
12if V4L_PLATFORM_DRIVERS
13
14source "drivers/media/platform/marvell-ccic/Kconfig"
15
16config VIDEO_VIA_CAMERA
17	tristate "VIAFB camera controller support"
18	depends on FB_VIA
19	select VIDEOBUF_DMA_SG
20	select VIDEO_OV7670
21	help
22	   Driver support for the integrated camera controller in VIA
23	   Chrome9 chipsets.  Currently only tested on OLPC xo-1.5 systems
24	   with ov7670 sensors.
25
26#
27# Platform multimedia device configuration
28#
29
30source "drivers/media/platform/davinci/Kconfig"
31
32source "drivers/media/platform/omap/Kconfig"
33
34source "drivers/media/platform/blackfin/Kconfig"
35
36config VIDEO_SH_VOU
37	tristate "SuperH VOU video output driver"
38	depends on MEDIA_CAMERA_SUPPORT
39	depends on VIDEO_DEV && I2C && HAS_DMA
40	depends on ARCH_SHMOBILE || COMPILE_TEST
41	select VIDEOBUF2_DMA_CONTIG
42	help
43	  Support for the Video Output Unit (VOU) on SuperH SoCs.
44
45config VIDEO_VIU
46	tristate "Freescale VIU Video Driver"
47	depends on VIDEO_V4L2 && PPC_MPC512x
48	select VIDEOBUF_DMA_CONTIG
49	default y
50	---help---
51	  Support for Freescale VIU video driver. This device captures
52	  video data, or overlays video on DIU frame buffer.
53
54	  Say Y here if you want to enable VIU device on MPC5121e Rev2+.
55	  In doubt, say N.
56
57config VIDEO_M32R_AR
58	tristate "AR devices"
59	depends on VIDEO_V4L2
60	depends on M32R || COMPILE_TEST
61	---help---
62	  This is a video4linux driver for the Renesas AR (Artificial Retina)
63	  camera module.
64
65config VIDEO_M32R_AR_M64278
66	tristate "AR device with color module M64278(VGA)"
67	depends on PLAT_M32700UT
68	select VIDEO_M32R_AR
69	---help---
70	  This is a video4linux driver for the Renesas AR (Artificial
71	  Retina) with M64278E-800 camera module.
72	  This module supports VGA(640x480 pixels) resolutions.
73
74	  To compile this driver as a module, choose M here: the
75	  module will be called arv.
76
77config VIDEO_OMAP3
78	tristate "OMAP 3 Camera support"
79	depends on VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API && ARCH_OMAP3
80	depends on HAS_DMA && OF
81	depends on OMAP_IOMMU
82	select ARM_DMA_USE_IOMMU
83	select VIDEOBUF2_DMA_CONTIG
84	select MFD_SYSCON
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 && HAS_DMA
97	depends on PXA27x || COMPILE_TEST
98	select VIDEOBUF2_DMA_SG
99	select SG_SPLIT
100	---help---
101	  This is a v4l2 driver for the PXA27x Quick Capture Interface
102
103config VIDEO_S3C_CAMIF
104	tristate "Samsung S3C24XX/S3C64XX SoC Camera Interface driver"
105	depends on VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API
106	depends on PM
107	depends on ARCH_S3C64XX || PLAT_S3C24XX || COMPILE_TEST
108	depends on HAS_DMA
109	select VIDEOBUF2_DMA_CONTIG
110	---help---
111	  This is a v4l2 driver for s3c24xx and s3c64xx SoC series camera
112	  host interface (CAMIF).
113
114	  To compile this driver as a module, choose M here: the module
115	  will be called s3c-camif.
116
117source "drivers/media/platform/soc_camera/Kconfig"
118source "drivers/media/platform/exynos4-is/Kconfig"
119source "drivers/media/platform/am437x/Kconfig"
120source "drivers/media/platform/xilinx/Kconfig"
121source "drivers/media/platform/rcar-vin/Kconfig"
122source "drivers/media/platform/atmel/Kconfig"
123
124config VIDEO_TI_CAL
125	tristate "TI CAL (Camera Adaptation Layer) driver"
126	depends on VIDEO_DEV && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API
127	depends on SOC_DRA7XX || COMPILE_TEST
128	depends on HAS_DMA
129	select VIDEOBUF2_DMA_CONTIG
130	default n
131	---help---
132	  Support for the TI CAL (Camera Adaptation Layer) block
133	  found on DRA72X SoC.
134	  In TI Technical Reference Manual this module is referred as
135	  Camera Interface Subsystem (CAMSS).
136
137endif # V4L_PLATFORM_DRIVERS
138
139menuconfig V4L_MEM2MEM_DRIVERS
140	bool "Memory-to-memory multimedia devices"
141	depends on VIDEO_V4L2
142	depends on MEDIA_CAMERA_SUPPORT
143	default n
144	---help---
145	  Say Y here to enable selecting drivers for V4L devices that
146	  use system memory for both source and destination buffers, as opposed
147	  to capture and output drivers, which use memory buffers for just
148	  one of those.
149
150if V4L_MEM2MEM_DRIVERS
151
152config VIDEO_CODA
153	tristate "Chips&Media Coda multi-standard codec IP"
154	depends on VIDEO_DEV && VIDEO_V4L2 && (ARCH_MXC || COMPILE_TEST)
155	depends on HAS_DMA
156	select SRAM
157	select VIDEOBUF2_DMA_CONTIG
158	select VIDEOBUF2_VMALLOC
159	select V4L2_MEM2MEM_DEV
160	select GENERIC_ALLOCATOR
161	---help---
162	   Coda is a range of video codec IPs that supports
163	   H.264, MPEG-4, and other video formats.
164
165config VIDEO_IMX_VDOA
166	def_tristate VIDEO_CODA if SOC_IMX6Q || COMPILE_TEST
167
168config VIDEO_MEDIATEK_JPEG
169	tristate "Mediatek JPEG Codec driver"
170	depends on MTK_IOMMU_V1 || COMPILE_TEST
171	depends on VIDEO_DEV && VIDEO_V4L2
172	depends on ARCH_MEDIATEK || COMPILE_TEST
173	depends on HAS_DMA
174	select VIDEOBUF2_DMA_CONTIG
175	select V4L2_MEM2MEM_DEV
176	---help---
177	  Mediatek jpeg codec driver provides HW capability to decode
178	  JPEG format
179
180	  To compile this driver as a module, choose M here: the
181	  module will be called mtk-jpeg
182
183config VIDEO_MEDIATEK_VPU
184	tristate "Mediatek Video Processor Unit"
185	depends on VIDEO_DEV && VIDEO_V4L2 && HAS_DMA
186	depends on ARCH_MEDIATEK || COMPILE_TEST
187	---help---
188	    This driver provides downloading VPU firmware and
189	    communicating with VPU. This driver for hw video
190	    codec embedded in Mediatek's MT8173 SOCs. It is able
191	    to handle video decoding/encoding in a range of formats.
192
193	    To compile this driver as a module, choose M here: the
194	    module will be called mtk-vpu.
195
196config VIDEO_MEDIATEK_MDP
197	tristate "Mediatek MDP driver"
198	depends on MTK_IOMMU || COMPILE_TEST
199	depends on VIDEO_DEV && VIDEO_V4L2
200	depends on ARCH_MEDIATEK || COMPILE_TEST
201	depends on HAS_DMA
202	select VIDEOBUF2_DMA_CONTIG
203	select V4L2_MEM2MEM_DEV
204	select VIDEO_MEDIATEK_VPU
205	default n
206	---help---
207	    It is a v4l2 driver and present in Mediatek MT8173 SoCs.
208	    The driver supports for scaling and color space conversion.
209
210	    To compile this driver as a module, choose M here: the
211	    module will be called mtk-mdp.
212
213config VIDEO_MEDIATEK_VCODEC
214	tristate "Mediatek Video Codec driver"
215	depends on MTK_IOMMU || COMPILE_TEST
216	depends on VIDEO_DEV && VIDEO_V4L2 && HAS_DMA
217	depends on ARCH_MEDIATEK || COMPILE_TEST
218	select VIDEOBUF2_DMA_CONTIG
219	select V4L2_MEM2MEM_DEV
220	select VIDEO_MEDIATEK_VPU
221	default n
222	---help---
223	    Mediatek video codec driver provides HW capability to
224	    encode and decode in a range of video formats
225	    This driver rely on VPU driver to communicate with VPU.
226
227	    To compile this driver as a module, choose M here: the
228	    module will be called mtk-vcodec
229
230config VIDEO_MEM2MEM_DEINTERLACE
231	tristate "Deinterlace support"
232	depends on VIDEO_DEV && VIDEO_V4L2 && DMA_ENGINE
233	depends on HAS_DMA
234	select VIDEOBUF2_DMA_CONTIG
235	select V4L2_MEM2MEM_DEV
236	help
237	    Generic deinterlacing V4L2 driver.
238
239config VIDEO_SAMSUNG_S5P_G2D
240	tristate "Samsung S5P and EXYNOS4 G2D 2d graphics accelerator driver"
241	depends on VIDEO_DEV && VIDEO_V4L2
242	depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
243	depends on HAS_DMA
244	select VIDEOBUF2_DMA_CONTIG
245	select V4L2_MEM2MEM_DEV
246	default n
247	---help---
248	  This is a v4l2 driver for Samsung S5P and EXYNOS4 G2D
249	  2d graphics accelerator.
250
251config VIDEO_SAMSUNG_S5P_JPEG
252	tristate "Samsung S5P/Exynos3250/Exynos4 JPEG codec driver"
253	depends on VIDEO_DEV && VIDEO_V4L2
254	depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
255	depends on HAS_DMA
256	select VIDEOBUF2_DMA_CONTIG
257	select V4L2_MEM2MEM_DEV
258	---help---
259	  This is a v4l2 driver for Samsung S5P, EXYNOS3250
260	  and EXYNOS4 JPEG codec
261
262config VIDEO_SAMSUNG_S5P_MFC
263	tristate "Samsung S5P MFC Video Codec"
264	depends on VIDEO_DEV && VIDEO_V4L2
265	depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
266	depends on HAS_DMA
267	select VIDEOBUF2_DMA_CONTIG
268	default n
269	help
270	    MFC 5.1 and 6.x driver for V4L2
271
272config VIDEO_MX2_EMMAPRP
273	tristate "MX2 eMMa-PrP support"
274	depends on VIDEO_DEV && VIDEO_V4L2
275	depends on SOC_IMX27 || COMPILE_TEST
276	depends on HAS_DMA
277	select VIDEOBUF2_DMA_CONTIG
278	select V4L2_MEM2MEM_DEV
279	help
280	    MX2X chips have a PrP that can be used to process buffers from
281	    memory to memory. Operations include resizing and format
282	    conversion.
283
284config VIDEO_SAMSUNG_EXYNOS_GSC
285	tristate "Samsung Exynos G-Scaler driver"
286	depends on VIDEO_DEV && VIDEO_V4L2
287	depends on ARCH_EXYNOS || COMPILE_TEST
288	depends on HAS_DMA
289	select VIDEOBUF2_DMA_CONTIG
290	select V4L2_MEM2MEM_DEV
291	help
292	  This is a v4l2 driver for Samsung EXYNOS5 SoC G-Scaler.
293
294config VIDEO_STI_BDISP
295	tristate "STMicroelectronics BDISP 2D blitter driver"
296	depends on VIDEO_DEV && VIDEO_V4L2
297	depends on HAS_DMA
298	depends on ARCH_STI || COMPILE_TEST
299	select VIDEOBUF2_DMA_CONTIG
300	select V4L2_MEM2MEM_DEV
301	help
302	  This v4l2 mem2mem driver is a 2D blitter for STMicroelectronics SoC.
303
304config VIDEO_STI_HVA
305	tristate "STMicroelectronics HVA multi-format video encoder V4L2 driver"
306	depends on VIDEO_DEV && VIDEO_V4L2
307	depends on HAS_DMA
308	depends on ARCH_STI || COMPILE_TEST
309	select VIDEOBUF2_DMA_CONTIG
310	select V4L2_MEM2MEM_DEV
311	help
312	  This V4L2 driver enables HVA (Hardware Video Accelerator) multi-format
313	  video encoder of STMicroelectronics SoC, allowing hardware encoding of
314	  raw uncompressed formats in various compressed video bitstreams format.
315
316	  To compile this driver as a module, choose M here:
317	  the module will be called st-hva.
318
319config VIDEO_STI_HVA_DEBUGFS
320	bool "Export STMicroelectronics HVA internals in debugfs"
321	depends on VIDEO_STI_HVA
322	depends on DEBUG_FS
323	help
324	  Select this to see information about the internal state and the last
325          operation of STMicroelectronics HVA multi-format video encoder in
326          debugfs.
327
328          Choose N unless you know you need this.
329
330config VIDEO_STI_DELTA
331	tristate "STMicroelectronics DELTA multi-format video decoder V4L2 driver"
332	depends on VIDEO_DEV && VIDEO_V4L2
333	depends on ARCH_STI || COMPILE_TEST
334	depends on HAS_DMA
335	help
336		This V4L2 driver enables DELTA multi-format video decoder
337		of STMicroelectronics STiH4xx SoC series allowing hardware
338		decoding of various compressed video bitstream format in
339		raw uncompressed format.
340
341		Use this option to see the decoders available for such
342		hardware.
343
344		Please notice that the driver will only be built if
345		at least one of the DELTA decoder below is selected.
346
347if VIDEO_STI_DELTA
348
349config VIDEO_STI_DELTA_MJPEG
350	bool "STMicroelectronics DELTA MJPEG support"
351	default y
352	help
353		Enables DELTA MJPEG hardware support.
354
355		To compile this driver as a module, choose M here:
356		the module will be called st-delta.
357
358config VIDEO_STI_DELTA_DRIVER
359	tristate
360	depends on VIDEO_STI_DELTA
361	depends on VIDEO_STI_DELTA_MJPEG
362	default VIDEO_STI_DELTA_MJPEG
363	select VIDEOBUF2_DMA_CONTIG
364	select V4L2_MEM2MEM_DEV
365	select RPMSG
366
367endif # VIDEO_STI_DELTA
368
369config VIDEO_SH_VEU
370	tristate "SuperH VEU mem2mem video processing driver"
371	depends on VIDEO_DEV && VIDEO_V4L2 && HAS_DMA
372	select VIDEOBUF2_DMA_CONTIG
373	select V4L2_MEM2MEM_DEV
374	help
375	    Support for the Video Engine Unit (VEU) on SuperH and
376	    SH-Mobile SoCs.
377
378config VIDEO_RENESAS_FDP1
379	tristate "Renesas Fine Display Processor"
380	depends on VIDEO_DEV && VIDEO_V4L2 && HAS_DMA
381	depends on ARCH_SHMOBILE || COMPILE_TEST
382	depends on (!ARCH_RENESAS && !VIDEO_RENESAS_FCP) || VIDEO_RENESAS_FCP
383	select VIDEOBUF2_DMA_CONTIG
384	select V4L2_MEM2MEM_DEV
385	---help---
386	  This is a V4L2 driver for the Renesas Fine Display Processor
387	  providing colour space conversion, and de-interlacing features.
388
389	  To compile this driver as a module, choose M here: the module
390	  will be called rcar_fdp1.
391
392config VIDEO_RENESAS_JPU
393	tristate "Renesas JPEG Processing Unit"
394	depends on VIDEO_DEV && VIDEO_V4L2 && HAS_DMA
395	depends on ARCH_RENESAS || COMPILE_TEST
396	select VIDEOBUF2_DMA_CONTIG
397	select V4L2_MEM2MEM_DEV
398	---help---
399	  This is a V4L2 driver for the Renesas JPEG Processing Unit.
400
401	  To compile this driver as a module, choose M here: the module
402	  will be called rcar_jpu.
403
404config VIDEO_RENESAS_FCP
405	tristate "Renesas Frame Compression Processor"
406	depends on ARCH_RENESAS || COMPILE_TEST
407	depends on OF
408	---help---
409	  This is a driver for the Renesas Frame Compression Processor (FCP).
410	  The FCP is a companion module of video processing modules in the
411	  Renesas R-Car Gen3 SoCs. It handles memory access for the codec,
412	  VSP and FDP modules.
413
414	  To compile this driver as a module, choose M here: the module
415	  will be called rcar-fcp.
416
417config VIDEO_RENESAS_VSP1
418	tristate "Renesas VSP1 Video Processing Engine"
419	depends on VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API && HAS_DMA
420	depends on (ARCH_RENESAS && OF) || COMPILE_TEST
421	depends on (!ARM64 && !VIDEO_RENESAS_FCP) || VIDEO_RENESAS_FCP
422	select VIDEOBUF2_DMA_CONTIG
423	---help---
424	  This is a V4L2 driver for the Renesas VSP1 video processing engine.
425
426	  To compile this driver as a module, choose M here: the module
427	  will be called vsp1.
428
429config VIDEO_TI_VPE
430	tristate "TI VPE (Video Processing Engine) driver"
431	depends on VIDEO_DEV && VIDEO_V4L2
432	depends on SOC_DRA7XX || COMPILE_TEST
433	depends on HAS_DMA
434	select VIDEOBUF2_DMA_CONTIG
435	select V4L2_MEM2MEM_DEV
436	select VIDEO_TI_VPDMA
437	select VIDEO_TI_SC
438	select VIDEO_TI_CSC
439	default n
440	---help---
441	  Support for the TI VPE(Video Processing Engine) block
442	  found on DRA7XX SoC.
443
444config VIDEO_TI_VPE_DEBUG
445	bool "VPE debug messages"
446	depends on VIDEO_TI_VPE
447	---help---
448	  Enable debug messages on VPE driver.
449
450endif # V4L_MEM2MEM_DRIVERS
451
452# TI VIDEO PORT Helper Modules
453# These will be selected by VPE and VIP
454config VIDEO_TI_VPDMA
455	tristate
456
457config VIDEO_TI_SC
458	tristate
459
460config VIDEO_TI_CSC
461	tristate
462
463menuconfig V4L_CEC_DRIVERS
464	bool "Platform HDMI CEC drivers"
465	depends on MEDIA_CEC_SUPPORT
466
467if V4L_CEC_DRIVERS
468
469config VIDEO_SAMSUNG_S5P_CEC
470       tristate "Samsung S5P CEC driver"
471       depends on VIDEO_DEV && MEDIA_CEC_SUPPORT && (PLAT_S5P || ARCH_EXYNOS || COMPILE_TEST)
472       select MEDIA_CEC_NOTIFIER
473       ---help---
474         This is a driver for Samsung S5P HDMI CEC interface. It uses the
475         generic CEC framework interface.
476         CEC bus is present in the HDMI connector and enables communication
477         between compatible devices.
478
479config VIDEO_STI_HDMI_CEC
480       tristate "STMicroelectronics STiH4xx HDMI CEC driver"
481       depends on VIDEO_DEV && MEDIA_CEC_SUPPORT && (ARCH_STI || COMPILE_TEST)
482       select MEDIA_CEC_NOTIFIER
483       ---help---
484         This is a driver for STIH4xx HDMI CEC interface. It uses the
485         generic CEC framework interface.
486         CEC bus is present in the HDMI connector and enables communication
487         between compatible devices.
488
489endif #V4L_CEC_DRIVERS
490
491menuconfig V4L_TEST_DRIVERS
492	bool "Media test drivers"
493	depends on MEDIA_CAMERA_SUPPORT
494
495if V4L_TEST_DRIVERS
496
497source "drivers/media/platform/vivid/Kconfig"
498
499config VIDEO_VIM2M
500	tristate "Virtual Memory-to-Memory Driver"
501	depends on VIDEO_DEV && VIDEO_V4L2
502	select VIDEOBUF2_VMALLOC
503	select V4L2_MEM2MEM_DEV
504	default n
505	---help---
506	  This is a virtual test device for the memory-to-memory driver
507	  framework.
508endif #V4L_TEST_DRIVERS
509
510menuconfig DVB_PLATFORM_DRIVERS
511	bool "DVB platform devices"
512	depends on MEDIA_DIGITAL_TV_SUPPORT
513	default n
514	---help---
515	  Say Y here to enable support for platform-specific Digital TV drivers.
516
517if DVB_PLATFORM_DRIVERS
518source "drivers/media/platform/sti/c8sectpfe/Kconfig"
519endif #DVB_PLATFORM_DRIVERS
520