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