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