xref: /openbmc/linux/drivers/media/platform/Kconfig (revision 1c2dd16a)
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
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_VPU
169	tristate "Mediatek Video Processor Unit"
170	depends on VIDEO_DEV && VIDEO_V4L2 && HAS_DMA
171	depends on ARCH_MEDIATEK || COMPILE_TEST
172	---help---
173	    This driver provides downloading VPU firmware and
174	    communicating with VPU. This driver for hw video
175	    codec embedded in Mediatek's MT8173 SOCs. It is able
176	    to handle video decoding/encoding in a range of formats.
177
178	    To compile this driver as a module, choose M here: the
179	    module will be called mtk-vpu.
180
181config VIDEO_MEDIATEK_MDP
182	tristate "Mediatek MDP driver"
183	depends on MTK_IOMMU || COMPILE_TEST
184	depends on VIDEO_DEV && VIDEO_V4L2
185	depends on ARCH_MEDIATEK || COMPILE_TEST
186	depends on HAS_DMA
187	select VIDEOBUF2_DMA_CONTIG
188	select V4L2_MEM2MEM_DEV
189	select VIDEO_MEDIATEK_VPU
190	default n
191	---help---
192	    It is a v4l2 driver and present in Mediatek MT8173 SoCs.
193	    The driver supports for scaling and color space conversion.
194
195	    To compile this driver as a module, choose M here: the
196	    module will be called mtk-mdp.
197
198config VIDEO_MEDIATEK_VCODEC
199	tristate "Mediatek Video Codec driver"
200	depends on MTK_IOMMU || COMPILE_TEST
201	depends on VIDEO_DEV && VIDEO_V4L2 && HAS_DMA
202	depends on ARCH_MEDIATEK || COMPILE_TEST
203	select VIDEOBUF2_DMA_CONTIG
204	select V4L2_MEM2MEM_DEV
205	select VIDEO_MEDIATEK_VPU
206	default n
207	---help---
208	    Mediatek video codec driver provides HW capability to
209	    encode and decode in a range of video formats
210	    This driver rely on VPU driver to communicate with VPU.
211
212	    To compile this driver as a module, choose M here: the
213	    module will be called mtk-vcodec
214
215config VIDEO_MEM2MEM_DEINTERLACE
216	tristate "Deinterlace support"
217	depends on VIDEO_DEV && VIDEO_V4L2 && DMA_ENGINE
218	depends on HAS_DMA
219	select VIDEOBUF2_DMA_CONTIG
220	select V4L2_MEM2MEM_DEV
221	help
222	    Generic deinterlacing V4L2 driver.
223
224config VIDEO_SAMSUNG_S5P_G2D
225	tristate "Samsung S5P and EXYNOS4 G2D 2d graphics accelerator driver"
226	depends on VIDEO_DEV && VIDEO_V4L2
227	depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
228	depends on HAS_DMA
229	select VIDEOBUF2_DMA_CONTIG
230	select V4L2_MEM2MEM_DEV
231	default n
232	---help---
233	  This is a v4l2 driver for Samsung S5P and EXYNOS4 G2D
234	  2d graphics accelerator.
235
236config VIDEO_SAMSUNG_S5P_JPEG
237	tristate "Samsung S5P/Exynos3250/Exynos4 JPEG codec driver"
238	depends on VIDEO_DEV && VIDEO_V4L2
239	depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
240	depends on HAS_DMA
241	select VIDEOBUF2_DMA_CONTIG
242	select V4L2_MEM2MEM_DEV
243	---help---
244	  This is a v4l2 driver for Samsung S5P, EXYNOS3250
245	  and EXYNOS4 JPEG codec
246
247config VIDEO_SAMSUNG_S5P_MFC
248	tristate "Samsung S5P MFC Video Codec"
249	depends on VIDEO_DEV && VIDEO_V4L2
250	depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
251	depends on HAS_DMA
252	select VIDEOBUF2_DMA_CONTIG
253	default n
254	help
255	    MFC 5.1 and 6.x driver for V4L2
256
257config VIDEO_MX2_EMMAPRP
258	tristate "MX2 eMMa-PrP support"
259	depends on VIDEO_DEV && VIDEO_V4L2
260	depends on SOC_IMX27 || COMPILE_TEST
261	depends on HAS_DMA
262	select VIDEOBUF2_DMA_CONTIG
263	select V4L2_MEM2MEM_DEV
264	help
265	    MX2X chips have a PrP that can be used to process buffers from
266	    memory to memory. Operations include resizing and format
267	    conversion.
268
269config VIDEO_SAMSUNG_EXYNOS_GSC
270	tristate "Samsung Exynos G-Scaler driver"
271	depends on VIDEO_DEV && VIDEO_V4L2
272	depends on ARCH_EXYNOS || COMPILE_TEST
273	depends on HAS_DMA
274	select VIDEOBUF2_DMA_CONTIG
275	select V4L2_MEM2MEM_DEV
276	help
277	  This is a v4l2 driver for Samsung EXYNOS5 SoC G-Scaler.
278
279config VIDEO_STI_BDISP
280	tristate "STMicroelectronics BDISP 2D blitter driver"
281	depends on VIDEO_DEV && VIDEO_V4L2
282	depends on HAS_DMA
283	depends on ARCH_STI || COMPILE_TEST
284	select VIDEOBUF2_DMA_CONTIG
285	select V4L2_MEM2MEM_DEV
286	help
287	  This v4l2 mem2mem driver is a 2D blitter for STMicroelectronics SoC.
288
289config VIDEO_STI_HVA
290	tristate "STMicroelectronics HVA multi-format video encoder V4L2 driver"
291	depends on VIDEO_DEV && VIDEO_V4L2
292	depends on HAS_DMA
293	depends on ARCH_STI || COMPILE_TEST
294	select VIDEOBUF2_DMA_CONTIG
295	select V4L2_MEM2MEM_DEV
296	help
297	  This V4L2 driver enables HVA (Hardware Video Accelerator) multi-format
298	  video encoder of STMicroelectronics SoC, allowing hardware encoding of
299	  raw uncompressed formats in various compressed video bitstreams format.
300
301	  To compile this driver as a module, choose M here:
302	  the module will be called st-hva.
303
304config VIDEO_STI_HVA_DEBUGFS
305	bool "Export STMicroelectronics HVA internals in debugfs"
306	depends on VIDEO_STI_HVA
307	depends on DEBUG_FS
308	help
309	  Select this to see information about the internal state and the last
310          operation of STMicroelectronics HVA multi-format video encoder in
311          debugfs.
312
313          Choose N unless you know you need this.
314
315config VIDEO_STI_DELTA
316	tristate "STMicroelectronics DELTA multi-format video decoder V4L2 driver"
317	depends on VIDEO_DEV && VIDEO_V4L2
318	depends on ARCH_STI || COMPILE_TEST
319	depends on HAS_DMA
320	help
321		This V4L2 driver enables DELTA multi-format video decoder
322		of STMicroelectronics STiH4xx SoC series allowing hardware
323		decoding of various compressed video bitstream format in
324		raw uncompressed format.
325
326		Use this option to see the decoders available for such
327		hardware.
328
329		Please notice that the driver will only be built if
330		at least one of the DELTA decoder below is selected.
331
332if VIDEO_STI_DELTA
333
334config VIDEO_STI_DELTA_MJPEG
335	bool "STMicroelectronics DELTA MJPEG support"
336	default y
337	help
338		Enables DELTA MJPEG hardware support.
339
340		To compile this driver as a module, choose M here:
341		the module will be called st-delta.
342
343config VIDEO_STI_DELTA_DRIVER
344	tristate
345	depends on VIDEO_STI_DELTA
346	depends on VIDEO_STI_DELTA_MJPEG
347	default VIDEO_STI_DELTA_MJPEG
348	select VIDEOBUF2_DMA_CONTIG
349	select V4L2_MEM2MEM_DEV
350	select RPMSG
351
352endif # VIDEO_STI_DELTA
353
354config VIDEO_SH_VEU
355	tristate "SuperH VEU mem2mem video processing driver"
356	depends on VIDEO_DEV && VIDEO_V4L2 && HAS_DMA
357	select VIDEOBUF2_DMA_CONTIG
358	select V4L2_MEM2MEM_DEV
359	help
360	    Support for the Video Engine Unit (VEU) on SuperH and
361	    SH-Mobile SoCs.
362
363config VIDEO_RENESAS_FDP1
364	tristate "Renesas Fine Display Processor"
365	depends on VIDEO_DEV && VIDEO_V4L2 && HAS_DMA
366	depends on ARCH_SHMOBILE || COMPILE_TEST
367	depends on (!ARCH_RENESAS && !VIDEO_RENESAS_FCP) || VIDEO_RENESAS_FCP
368	select VIDEOBUF2_DMA_CONTIG
369	select V4L2_MEM2MEM_DEV
370	---help---
371	  This is a V4L2 driver for the Renesas Fine Display Processor
372	  providing colour space conversion, and de-interlacing features.
373
374	  To compile this driver as a module, choose M here: the module
375	  will be called rcar_fdp1.
376
377config VIDEO_RENESAS_JPU
378	tristate "Renesas JPEG Processing Unit"
379	depends on VIDEO_DEV && VIDEO_V4L2 && HAS_DMA
380	depends on ARCH_RENESAS || COMPILE_TEST
381	select VIDEOBUF2_DMA_CONTIG
382	select V4L2_MEM2MEM_DEV
383	---help---
384	  This is a V4L2 driver for the Renesas JPEG Processing Unit.
385
386	  To compile this driver as a module, choose M here: the module
387	  will be called rcar_jpu.
388
389config VIDEO_RENESAS_FCP
390	tristate "Renesas Frame Compression Processor"
391	depends on ARCH_RENESAS || COMPILE_TEST
392	depends on OF
393	---help---
394	  This is a driver for the Renesas Frame Compression Processor (FCP).
395	  The FCP is a companion module of video processing modules in the
396	  Renesas R-Car Gen3 SoCs. It handles memory access for the codec,
397	  VSP and FDP modules.
398
399	  To compile this driver as a module, choose M here: the module
400	  will be called rcar-fcp.
401
402config VIDEO_RENESAS_VSP1
403	tristate "Renesas VSP1 Video Processing Engine"
404	depends on VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API && HAS_DMA
405	depends on (ARCH_RENESAS && OF) || COMPILE_TEST
406	depends on (!ARM64 && !VIDEO_RENESAS_FCP) || VIDEO_RENESAS_FCP
407	select VIDEOBUF2_DMA_CONTIG
408	---help---
409	  This is a V4L2 driver for the Renesas VSP1 video processing engine.
410
411	  To compile this driver as a module, choose M here: the module
412	  will be called vsp1.
413
414config VIDEO_TI_VPE
415	tristate "TI VPE (Video Processing Engine) driver"
416	depends on VIDEO_DEV && VIDEO_V4L2
417	depends on SOC_DRA7XX || COMPILE_TEST
418	depends on HAS_DMA
419	select VIDEOBUF2_DMA_CONTIG
420	select V4L2_MEM2MEM_DEV
421	select VIDEO_TI_VPDMA
422	select VIDEO_TI_SC
423	select VIDEO_TI_CSC
424	default n
425	---help---
426	  Support for the TI VPE(Video Processing Engine) block
427	  found on DRA7XX SoC.
428
429config VIDEO_TI_VPE_DEBUG
430	bool "VPE debug messages"
431	depends on VIDEO_TI_VPE
432	---help---
433	  Enable debug messages on VPE driver.
434
435endif # V4L_MEM2MEM_DRIVERS
436
437# TI VIDEO PORT Helper Modules
438# These will be selected by VPE and VIP
439config VIDEO_TI_VPDMA
440	tristate
441
442config VIDEO_TI_SC
443	tristate
444
445config VIDEO_TI_CSC
446	tristate
447
448menuconfig V4L_TEST_DRIVERS
449	bool "Media test drivers"
450	depends on MEDIA_CAMERA_SUPPORT
451
452if V4L_TEST_DRIVERS
453
454source "drivers/media/platform/vivid/Kconfig"
455
456config VIDEO_VIM2M
457	tristate "Virtual Memory-to-Memory Driver"
458	depends on VIDEO_DEV && VIDEO_V4L2
459	select VIDEOBUF2_VMALLOC
460	select V4L2_MEM2MEM_DEV
461	default n
462	---help---
463	  This is a virtual test device for the memory-to-memory driver
464	  framework.
465endif #V4L_TEST_DRIVERS
466
467menuconfig DVB_PLATFORM_DRIVERS
468	bool "DVB platform devices"
469	depends on MEDIA_DIGITAL_TV_SUPPORT
470	default n
471	---help---
472	  Say Y here to enable support for platform-specific Digital TV drivers.
473
474if DVB_PLATFORM_DRIVERS
475source "drivers/media/platform/sti/c8sectpfe/Kconfig"
476endif #DVB_PLATFORM_DRIVERS
477