Merge tag 'media/v4.12-2' into patchwork
[sfrench/cifs-2.6.git] / drivers / media / platform / Kconfig
1 #
2 # Platform drivers
3 #       Most drivers here are currently for webcam support
4
5 menuconfig 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
12 if V4L_PLATFORM_DRIVERS
13
14 source "drivers/media/platform/marvell-ccic/Kconfig"
15
16 config 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
30 source "drivers/media/platform/davinci/Kconfig"
31
32 source "drivers/media/platform/omap/Kconfig"
33
34 source "drivers/media/platform/blackfin/Kconfig"
35
36 config 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
45 config 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
57 config 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
65 config 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
77 config 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
89 config 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
95 config 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
105 config 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
119 config 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
132 source "drivers/media/platform/soc_camera/Kconfig"
133 source "drivers/media/platform/exynos4-is/Kconfig"
134 source "drivers/media/platform/am437x/Kconfig"
135 source "drivers/media/platform/xilinx/Kconfig"
136 source "drivers/media/platform/rcar-vin/Kconfig"
137 source "drivers/media/platform/atmel/Kconfig"
138
139 config 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
153 endif # V4L_PLATFORM_DRIVERS
154
155 menuconfig 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
166 if V4L_MEM2MEM_DRIVERS
167
168 config 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
181 config VIDEO_IMX_VDOA
182         def_tristate VIDEO_CODA if SOC_IMX6Q || COMPILE_TEST
183
184 config 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
199 config 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
212 config 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
229 config 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
246 config 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
255 config 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
267 config 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
278 config 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
288 config 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
300 config 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
310 config 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
320 config 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
335 config 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
346 config 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
363 if VIDEO_STI_DELTA
364
365 config 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
374 config 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
383 endif # VIDEO_STI_DELTA
384
385 config 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
394 config 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
408 config 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
420 config 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
433 config 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
446 config 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
461 config 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
467 endif # V4L_MEM2MEM_DRIVERS
468
469 # TI VIDEO PORT Helper Modules
470 # These will be selected by VPE and VIP
471 config VIDEO_TI_VPDMA
472         tristate
473
474 config VIDEO_TI_SC
475         tristate
476
477 config VIDEO_TI_CSC
478         tristate
479
480 menuconfig V4L_TEST_DRIVERS
481         bool "Media test drivers"
482         depends on MEDIA_CAMERA_SUPPORT
483
484 if V4L_TEST_DRIVERS
485
486 source "drivers/media/platform/vimc/Kconfig"
487
488 source "drivers/media/platform/vivid/Kconfig"
489
490 config 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.
499 endif #V4L_TEST_DRIVERS
500
501 menuconfig 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
508 if DVB_PLATFORM_DRIVERS
509 source "drivers/media/platform/sti/c8sectpfe/Kconfig"
510 endif #DVB_PLATFORM_DRIVERS
511
512 menuconfig CEC_PLATFORM_DRIVERS
513         bool "CEC platform devices"
514         depends on MEDIA_CEC_SUPPORT
515
516 if CEC_PLATFORM_DRIVERS
517
518 config 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
529 config 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
540 endif #CEC_PLATFORM_DRIVERS