xref: /linux/drivers/media/platform/Kconfig (revision d69ae57453c80a2193bcdb3fd762efbec447eecf)
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	select V4L2_FWNODE
86	---help---
87	  Driver for an OMAP 3 camera controller.
88
89config VIDEO_OMAP3_DEBUG
90	bool "OMAP 3 Camera debug messages"
91	depends on VIDEO_OMAP3
92	---help---
93	  Enable debug messages on OMAP 3 camera controller driver.
94
95config VIDEO_PXA27x
96	tristate "PXA27x Quick Capture Interface driver"
97	depends on VIDEO_DEV && VIDEO_V4L2 && HAS_DMA
98	depends on PXA27x || COMPILE_TEST
99	select VIDEOBUF2_DMA_SG
100	select SG_SPLIT
101	select V4L2_FWNODE
102	---help---
103	  This is a v4l2 driver for the PXA27x Quick Capture Interface
104
105config VIDEO_S3C_CAMIF
106	tristate "Samsung S3C24XX/S3C64XX SoC Camera Interface driver"
107	depends on VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API
108	depends on PM
109	depends on ARCH_S3C64XX || PLAT_S3C24XX || COMPILE_TEST
110	depends on HAS_DMA
111	select VIDEOBUF2_DMA_CONTIG
112	---help---
113	  This is a v4l2 driver for s3c24xx and s3c64xx SoC series camera
114	  host interface (CAMIF).
115
116	  To compile this driver as a module, choose M here: the module
117	  will be called s3c-camif.
118
119config VIDEO_STM32_DCMI
120	tristate "STM32 Digital Camera Memory Interface (DCMI) support"
121	depends on VIDEO_V4L2 && OF && HAS_DMA
122	depends on ARCH_STM32 || COMPILE_TEST
123	select VIDEOBUF2_DMA_CONTIG
124	select V4L2_FWNODE
125	---help---
126	  This module makes the STM32 Digital Camera Memory Interface (DCMI)
127	  available as a v4l2 device.
128
129	  To compile this driver as a module, choose M here: the module
130	  will be called stm32-dcmi.
131
132source "drivers/media/platform/soc_camera/Kconfig"
133source "drivers/media/platform/exynos4-is/Kconfig"
134source "drivers/media/platform/am437x/Kconfig"
135source "drivers/media/platform/xilinx/Kconfig"
136source "drivers/media/platform/rcar-vin/Kconfig"
137source "drivers/media/platform/atmel/Kconfig"
138
139config VIDEO_TI_CAL
140	tristate "TI CAL (Camera Adaptation Layer) driver"
141	depends on VIDEO_DEV && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API
142	depends on SOC_DRA7XX || COMPILE_TEST
143	depends on HAS_DMA
144	select VIDEOBUF2_DMA_CONTIG
145	select V4L2_FWNODE
146	default n
147	---help---
148	  Support for the TI CAL (Camera Adaptation Layer) block
149	  found on DRA72X SoC.
150	  In TI Technical Reference Manual this module is referred as
151	  Camera Interface Subsystem (CAMSS).
152
153endif # V4L_PLATFORM_DRIVERS
154
155menuconfig V4L_MEM2MEM_DRIVERS
156	bool "Memory-to-memory multimedia devices"
157	depends on VIDEO_V4L2
158	depends on MEDIA_CAMERA_SUPPORT
159	default n
160	---help---
161	  Say Y here to enable selecting drivers for V4L devices that
162	  use system memory for both source and destination buffers, as opposed
163	  to capture and output drivers, which use memory buffers for just
164	  one of those.
165
166if V4L_MEM2MEM_DRIVERS
167
168config VIDEO_CODA
169	tristate "Chips&Media Coda multi-standard codec IP"
170	depends on VIDEO_DEV && VIDEO_V4L2 && (ARCH_MXC || COMPILE_TEST)
171	depends on HAS_DMA
172	select SRAM
173	select VIDEOBUF2_DMA_CONTIG
174	select VIDEOBUF2_VMALLOC
175	select V4L2_MEM2MEM_DEV
176	select GENERIC_ALLOCATOR
177	---help---
178	   Coda is a range of video codec IPs that supports
179	   H.264, MPEG-4, and other video formats.
180
181config VIDEO_IMX_VDOA
182	def_tristate VIDEO_CODA if SOC_IMX6Q || COMPILE_TEST
183
184config VIDEO_MEDIATEK_JPEG
185	tristate "Mediatek JPEG Codec driver"
186	depends on MTK_IOMMU_V1 || COMPILE_TEST
187	depends on VIDEO_DEV && VIDEO_V4L2
188	depends on ARCH_MEDIATEK || COMPILE_TEST
189	depends on HAS_DMA
190	select VIDEOBUF2_DMA_CONTIG
191	select V4L2_MEM2MEM_DEV
192	---help---
193	  Mediatek jpeg codec driver provides HW capability to decode
194	  JPEG format
195
196	  To compile this driver as a module, choose M here: the
197	  module will be called mtk-jpeg
198
199config VIDEO_MEDIATEK_VPU
200	tristate "Mediatek Video Processor Unit"
201	depends on VIDEO_DEV && VIDEO_V4L2 && HAS_DMA
202	depends on ARCH_MEDIATEK || COMPILE_TEST
203	---help---
204	    This driver provides downloading VPU firmware and
205	    communicating with VPU. This driver for hw video
206	    codec embedded in Mediatek's MT8173 SOCs. It is able
207	    to handle video decoding/encoding in a range of formats.
208
209	    To compile this driver as a module, choose M here: the
210	    module will be called mtk-vpu.
211
212config VIDEO_MEDIATEK_MDP
213	tristate "Mediatek MDP driver"
214	depends on MTK_IOMMU || COMPILE_TEST
215	depends on VIDEO_DEV && VIDEO_V4L2
216	depends on ARCH_MEDIATEK || COMPILE_TEST
217	depends on HAS_DMA
218	select VIDEOBUF2_DMA_CONTIG
219	select V4L2_MEM2MEM_DEV
220	select VIDEO_MEDIATEK_VPU
221	default n
222	---help---
223	    It is a v4l2 driver and present in Mediatek MT8173 SoCs.
224	    The driver supports for scaling and color space conversion.
225
226	    To compile this driver as a module, choose M here: the
227	    module will be called mtk-mdp.
228
229config VIDEO_MEDIATEK_VCODEC
230	tristate "Mediatek Video Codec driver"
231	depends on MTK_IOMMU || COMPILE_TEST
232	depends on VIDEO_DEV && VIDEO_V4L2 && HAS_DMA
233	depends on ARCH_MEDIATEK || COMPILE_TEST
234	select VIDEOBUF2_DMA_CONTIG
235	select V4L2_MEM2MEM_DEV
236	select VIDEO_MEDIATEK_VPU
237	default n
238	---help---
239	    Mediatek video codec driver provides HW capability to
240	    encode and decode in a range of video formats
241	    This driver rely on VPU driver to communicate with VPU.
242
243	    To compile this driver as a module, choose M here: the
244	    module will be called mtk-vcodec
245
246config VIDEO_MEM2MEM_DEINTERLACE
247	tristate "Deinterlace support"
248	depends on VIDEO_DEV && VIDEO_V4L2 && DMA_ENGINE
249	depends on HAS_DMA
250	select VIDEOBUF2_DMA_CONTIG
251	select V4L2_MEM2MEM_DEV
252	help
253	    Generic deinterlacing V4L2 driver.
254
255config VIDEO_SAMSUNG_S5P_G2D
256	tristate "Samsung S5P and EXYNOS4 G2D 2d graphics accelerator driver"
257	depends on VIDEO_DEV && VIDEO_V4L2
258	depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
259	depends on HAS_DMA
260	select VIDEOBUF2_DMA_CONTIG
261	select V4L2_MEM2MEM_DEV
262	default n
263	---help---
264	  This is a v4l2 driver for Samsung S5P and EXYNOS4 G2D
265	  2d graphics accelerator.
266
267config VIDEO_SAMSUNG_S5P_JPEG
268	tristate "Samsung S5P/Exynos3250/Exynos4 JPEG codec driver"
269	depends on VIDEO_DEV && VIDEO_V4L2
270	depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
271	depends on HAS_DMA
272	select VIDEOBUF2_DMA_CONTIG
273	select V4L2_MEM2MEM_DEV
274	---help---
275	  This is a v4l2 driver for Samsung S5P, EXYNOS3250
276	  and EXYNOS4 JPEG codec
277
278config VIDEO_SAMSUNG_S5P_MFC
279	tristate "Samsung S5P MFC Video Codec"
280	depends on VIDEO_DEV && VIDEO_V4L2
281	depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
282	depends on HAS_DMA
283	select VIDEOBUF2_DMA_CONTIG
284	default n
285	help
286	    MFC 5.1 and 6.x driver for V4L2
287
288config VIDEO_MX2_EMMAPRP
289	tristate "MX2 eMMa-PrP support"
290	depends on VIDEO_DEV && VIDEO_V4L2
291	depends on SOC_IMX27 || COMPILE_TEST
292	depends on HAS_DMA
293	select VIDEOBUF2_DMA_CONTIG
294	select V4L2_MEM2MEM_DEV
295	help
296	    MX2X chips have a PrP that can be used to process buffers from
297	    memory to memory. Operations include resizing and format
298	    conversion.
299
300config VIDEO_SAMSUNG_EXYNOS_GSC
301	tristate "Samsung Exynos G-Scaler driver"
302	depends on VIDEO_DEV && VIDEO_V4L2
303	depends on ARCH_EXYNOS || COMPILE_TEST
304	depends on HAS_DMA
305	select VIDEOBUF2_DMA_CONTIG
306	select V4L2_MEM2MEM_DEV
307	help
308	  This is a v4l2 driver for Samsung EXYNOS5 SoC G-Scaler.
309
310config VIDEO_STI_BDISP
311	tristate "STMicroelectronics BDISP 2D blitter driver"
312	depends on VIDEO_DEV && VIDEO_V4L2
313	depends on HAS_DMA
314	depends on ARCH_STI || COMPILE_TEST
315	select VIDEOBUF2_DMA_CONTIG
316	select V4L2_MEM2MEM_DEV
317	help
318	  This v4l2 mem2mem driver is a 2D blitter for STMicroelectronics SoC.
319
320config VIDEO_STI_HVA
321	tristate "STMicroelectronics HVA multi-format video encoder V4L2 driver"
322	depends on VIDEO_DEV && VIDEO_V4L2
323	depends on HAS_DMA
324	depends on ARCH_STI || COMPILE_TEST
325	select VIDEOBUF2_DMA_CONTIG
326	select V4L2_MEM2MEM_DEV
327	help
328	  This V4L2 driver enables HVA (Hardware Video Accelerator) multi-format
329	  video encoder of STMicroelectronics SoC, allowing hardware encoding of
330	  raw uncompressed formats in various compressed video bitstreams format.
331
332	  To compile this driver as a module, choose M here:
333	  the module will be called st-hva.
334
335config VIDEO_STI_HVA_DEBUGFS
336	bool "Export STMicroelectronics HVA internals in debugfs"
337	depends on VIDEO_STI_HVA
338	depends on DEBUG_FS
339	help
340	  Select this to see information about the internal state and the last
341          operation of STMicroelectronics HVA multi-format video encoder in
342          debugfs.
343
344          Choose N unless you know you need this.
345
346config VIDEO_STI_DELTA
347	tristate "STMicroelectronics DELTA multi-format video decoder V4L2 driver"
348	depends on VIDEO_DEV && VIDEO_V4L2
349	depends on ARCH_STI || COMPILE_TEST
350	depends on HAS_DMA
351	help
352		This V4L2 driver enables DELTA multi-format video decoder
353		of STMicroelectronics STiH4xx SoC series allowing hardware
354		decoding of various compressed video bitstream format in
355		raw uncompressed format.
356
357		Use this option to see the decoders available for such
358		hardware.
359
360		Please notice that the driver will only be built if
361		at least one of the DELTA decoder below is selected.
362
363if VIDEO_STI_DELTA
364
365config VIDEO_STI_DELTA_MJPEG
366	bool "STMicroelectronics DELTA MJPEG support"
367	default y
368	help
369		Enables DELTA MJPEG hardware support.
370
371		To compile this driver as a module, choose M here:
372		the module will be called st-delta.
373
374config VIDEO_STI_DELTA_DRIVER
375	tristate
376	depends on VIDEO_STI_DELTA
377	depends on VIDEO_STI_DELTA_MJPEG
378	default VIDEO_STI_DELTA_MJPEG
379	select VIDEOBUF2_DMA_CONTIG
380	select V4L2_MEM2MEM_DEV
381	select RPMSG
382
383endif # VIDEO_STI_DELTA
384
385config VIDEO_SH_VEU
386	tristate "SuperH VEU mem2mem video processing driver"
387	depends on VIDEO_DEV && VIDEO_V4L2 && HAS_DMA
388	select VIDEOBUF2_DMA_CONTIG
389	select V4L2_MEM2MEM_DEV
390	help
391	    Support for the Video Engine Unit (VEU) on SuperH and
392	    SH-Mobile SoCs.
393
394config VIDEO_RENESAS_FDP1
395	tristate "Renesas Fine Display Processor"
396	depends on VIDEO_DEV && VIDEO_V4L2 && HAS_DMA
397	depends on ARCH_SHMOBILE || COMPILE_TEST
398	depends on (!ARCH_RENESAS && !VIDEO_RENESAS_FCP) || VIDEO_RENESAS_FCP
399	select VIDEOBUF2_DMA_CONTIG
400	select V4L2_MEM2MEM_DEV
401	---help---
402	  This is a V4L2 driver for the Renesas Fine Display Processor
403	  providing colour space conversion, and de-interlacing features.
404
405	  To compile this driver as a module, choose M here: the module
406	  will be called rcar_fdp1.
407
408config VIDEO_RENESAS_JPU
409	tristate "Renesas JPEG Processing Unit"
410	depends on VIDEO_DEV && VIDEO_V4L2 && HAS_DMA
411	depends on ARCH_RENESAS || COMPILE_TEST
412	select VIDEOBUF2_DMA_CONTIG
413	select V4L2_MEM2MEM_DEV
414	---help---
415	  This is a V4L2 driver for the Renesas JPEG Processing Unit.
416
417	  To compile this driver as a module, choose M here: the module
418	  will be called rcar_jpu.
419
420config VIDEO_RENESAS_FCP
421	tristate "Renesas Frame Compression Processor"
422	depends on ARCH_RENESAS || COMPILE_TEST
423	depends on OF
424	---help---
425	  This is a driver for the Renesas Frame Compression Processor (FCP).
426	  The FCP is a companion module of video processing modules in the
427	  Renesas R-Car Gen3 SoCs. It handles memory access for the codec,
428	  VSP and FDP modules.
429
430	  To compile this driver as a module, choose M here: the module
431	  will be called rcar-fcp.
432
433config VIDEO_RENESAS_VSP1
434	tristate "Renesas VSP1 Video Processing Engine"
435	depends on VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API && HAS_DMA
436	depends on (ARCH_RENESAS && OF) || COMPILE_TEST
437	depends on (!ARM64 && !VIDEO_RENESAS_FCP) || VIDEO_RENESAS_FCP
438	select VIDEOBUF2_DMA_CONTIG
439	select VIDEOBUF2_VMALLOC
440	---help---
441	  This is a V4L2 driver for the Renesas VSP1 video processing engine.
442
443	  To compile this driver as a module, choose M here: the module
444	  will be called vsp1.
445
446config VIDEO_TI_VPE
447	tristate "TI VPE (Video Processing Engine) driver"
448	depends on VIDEO_DEV && VIDEO_V4L2
449	depends on SOC_DRA7XX || COMPILE_TEST
450	depends on HAS_DMA
451	select VIDEOBUF2_DMA_CONTIG
452	select V4L2_MEM2MEM_DEV
453	select VIDEO_TI_VPDMA
454	select VIDEO_TI_SC
455	select VIDEO_TI_CSC
456	default n
457	---help---
458	  Support for the TI VPE(Video Processing Engine) block
459	  found on DRA7XX SoC.
460
461config VIDEO_TI_VPE_DEBUG
462	bool "VPE debug messages"
463	depends on VIDEO_TI_VPE
464	---help---
465	  Enable debug messages on VPE driver.
466
467endif # V4L_MEM2MEM_DRIVERS
468
469# TI VIDEO PORT Helper Modules
470# These will be selected by VPE and VIP
471config VIDEO_TI_VPDMA
472	tristate
473
474config VIDEO_TI_SC
475	tristate
476
477config VIDEO_TI_CSC
478	tristate
479
480menuconfig V4L_TEST_DRIVERS
481	bool "Media test drivers"
482	depends on MEDIA_CAMERA_SUPPORT
483
484if V4L_TEST_DRIVERS
485
486source "drivers/media/platform/vimc/Kconfig"
487
488source "drivers/media/platform/vivid/Kconfig"
489
490config VIDEO_VIM2M
491	tristate "Virtual Memory-to-Memory Driver"
492	depends on VIDEO_DEV && VIDEO_V4L2
493	select VIDEOBUF2_VMALLOC
494	select V4L2_MEM2MEM_DEV
495	default n
496	---help---
497	  This is a virtual test device for the memory-to-memory driver
498	  framework.
499endif #V4L_TEST_DRIVERS
500
501menuconfig DVB_PLATFORM_DRIVERS
502	bool "DVB platform devices"
503	depends on MEDIA_DIGITAL_TV_SUPPORT
504	default n
505	---help---
506	  Say Y here to enable support for platform-specific Digital TV drivers.
507
508if DVB_PLATFORM_DRIVERS
509source "drivers/media/platform/sti/c8sectpfe/Kconfig"
510endif #DVB_PLATFORM_DRIVERS
511
512menuconfig CEC_PLATFORM_DRIVERS
513	bool "CEC platform devices"
514	depends on MEDIA_CEC_SUPPORT
515
516if CEC_PLATFORM_DRIVERS
517
518config VIDEO_SAMSUNG_S5P_CEC
519       tristate "Samsung S5P CEC driver"
520       depends on PLAT_S5P || ARCH_EXYNOS || COMPILE_TEST
521       select CEC_CORE
522       select CEC_NOTIFIER
523       ---help---
524         This is a driver for Samsung S5P HDMI CEC interface. It uses the
525         generic CEC framework interface.
526         CEC bus is present in the HDMI connector and enables communication
527         between compatible devices.
528
529config VIDEO_STI_HDMI_CEC
530       tristate "STMicroelectronics STiH4xx HDMI CEC driver"
531       depends on ARCH_STI || COMPILE_TEST
532       select CEC_CORE
533       select CEC_NOTIFIER
534       ---help---
535         This is a driver for STIH4xx HDMI CEC interface. It uses the
536         generic CEC framework interface.
537         CEC bus is present in the HDMI connector and enables communication
538         between compatible devices.
539
540config VIDEO_STM32_HDMI_CEC
541       tristate "STMicroelectronics STM32 HDMI CEC driver"
542       depends on ARCH_STM32 || COMPILE_TEST
543       select REGMAP
544       select REGMAP_MMIO
545       select CEC_CORE
546       ---help---
547         This is a driver for STM32 interface. It uses the
548         generic CEC framework interface.
549         CEC bus is present in the HDMI connector and enables communication
550         between compatible devices.
551
552endif #CEC_PLATFORM_DRIVERS
553