Merge remote-tracking branch 'spi/for-5.10' into spi-linus
[linux-2.6-microblaze.git] / drivers / media / platform / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2 #
3 # Platform drivers
4 #       Most drivers here are currently for webcam support
5
6 menuconfig V4L_PLATFORM_DRIVERS
7         bool "V4L platform devices"
8         help
9           Say Y here to enable support for platform-specific V4L drivers.
10
11 if V4L_PLATFORM_DRIVERS
12
13 source "drivers/media/platform/marvell-ccic/Kconfig"
14
15 config VIDEO_VIA_CAMERA
16         tristate "VIAFB camera controller support"
17         depends on FB_VIA && VIDEO_V4L2
18         select VIDEOBUF2_DMA_SG
19         select VIDEO_OV7670
20         help
21            Driver support for the integrated camera controller in VIA
22            Chrome9 chipsets.  Currently only tested on OLPC xo-1.5 systems
23            with ov7670 sensors.
24
25 #
26 # Platform multimedia device configuration
27 #
28 source "drivers/media/platform/cadence/Kconfig"
29
30 source "drivers/media/platform/davinci/Kconfig"
31
32 source "drivers/media/platform/omap/Kconfig"
33
34 config VIDEO_ASPEED
35         tristate "Aspeed AST2400 and AST2500 Video Engine driver"
36         depends on VIDEO_V4L2
37         select VIDEOBUF2_DMA_CONTIG
38         help
39           Support for the Aspeed Video Engine (VE) embedded in the Aspeed
40           AST2400 and AST2500 SOCs. The VE can capture and compress video data
41           from digital or analog sources.
42
43 config VIDEO_SH_VOU
44         tristate "SuperH VOU video output driver"
45         depends on VIDEO_DEV && I2C
46         depends on ARCH_SHMOBILE || COMPILE_TEST
47         select VIDEOBUF2_DMA_CONTIG
48         help
49           Support for the Video Output Unit (VOU) on SuperH SoCs.
50
51 config VIDEO_VIU
52         tristate "Freescale VIU Video Driver"
53         depends on VIDEO_V4L2 && (PPC_MPC512x || COMPILE_TEST) && I2C
54         select VIDEOBUF_DMA_CONTIG
55         default y
56         help
57           Support for Freescale VIU video driver. This device captures
58           video data, or overlays video on DIU frame buffer.
59
60           Say Y here if you want to enable VIU device on MPC5121e Rev2+.
61           In doubt, say N.
62
63 config VIDEO_MUX
64         tristate "Video Multiplexer"
65         select MULTIPLEXER
66         depends on VIDEO_V4L2 && OF
67         select MEDIA_CONTROLLER
68         select VIDEO_V4L2_SUBDEV_API
69         select REGMAP
70         select V4L2_FWNODE
71         help
72           This driver provides support for N:1 video bus multiplexers.
73
74 config VIDEO_OMAP3
75         tristate "OMAP 3 Camera support"
76         depends on VIDEO_V4L2 && I2C
77         depends on (ARCH_OMAP3 && OMAP_IOMMU) || COMPILE_TEST
78         depends on COMMON_CLK && OF
79         select ARM_DMA_USE_IOMMU if OMAP_IOMMU
80         select MEDIA_CONTROLLER
81         select VIDEO_V4L2_SUBDEV_API
82         select VIDEOBUF2_DMA_CONTIG
83         select MFD_SYSCON
84         select V4L2_FWNODE
85         help
86           Driver for an OMAP 3 camera controller.
87
88 config 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
94 config VIDEO_PXA27x
95         tristate "PXA27x Quick Capture Interface driver"
96         depends on VIDEO_DEV && VIDEO_V4L2
97         depends on PXA27x || COMPILE_TEST
98         select VIDEOBUF2_DMA_SG
99         select SG_SPLIT
100         select V4L2_FWNODE
101         help
102           This is a v4l2 driver for the PXA27x Quick Capture Interface
103
104 config VIDEO_QCOM_CAMSS
105         tristate "Qualcomm V4L2 Camera Subsystem driver"
106         depends on VIDEO_V4L2
107         depends on (ARCH_QCOM && IOMMU_DMA) || COMPILE_TEST
108         select MEDIA_CONTROLLER
109         select VIDEO_V4L2_SUBDEV_API
110         select VIDEOBUF2_DMA_SG
111         select V4L2_FWNODE
112
113 config VIDEO_S3C_CAMIF
114         tristate "Samsung S3C24XX/S3C64XX SoC Camera Interface driver"
115         depends on VIDEO_V4L2 && I2C && PM
116         depends on ARCH_S3C64XX || PLAT_S3C24XX || COMPILE_TEST
117         select MEDIA_CONTROLLER
118         select VIDEO_V4L2_SUBDEV_API
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
127 config VIDEO_STM32_DCMI
128         tristate "STM32 Digital Camera Memory Interface (DCMI) support"
129         depends on VIDEO_V4L2 && OF
130         depends on ARCH_STM32 || COMPILE_TEST
131         select VIDEOBUF2_DMA_CONTIG
132         select MEDIA_CONTROLLER
133         select V4L2_FWNODE
134         help
135           This module makes the STM32 Digital Camera Memory Interface (DCMI)
136           available as a v4l2 device.
137
138           To compile this driver as a module, choose M here: the module
139           will be called stm32-dcmi.
140
141 config VIDEO_RENESAS_CEU
142         tristate "Renesas Capture Engine Unit (CEU) driver"
143         depends on VIDEO_DEV && VIDEO_V4L2
144         depends on ARCH_SHMOBILE || ARCH_R7S72100 || COMPILE_TEST
145         select VIDEOBUF2_DMA_CONTIG
146         select V4L2_FWNODE
147         help
148           This is a v4l2 driver for the Renesas CEU Interface
149
150 source "drivers/media/platform/exynos4-is/Kconfig"
151 source "drivers/media/platform/am437x/Kconfig"
152 source "drivers/media/platform/xilinx/Kconfig"
153 source "drivers/media/platform/rcar-vin/Kconfig"
154 source "drivers/media/platform/atmel/Kconfig"
155 source "drivers/media/platform/sunxi/Kconfig"
156
157 config VIDEO_TI_CAL
158         tristate "TI CAL (Camera Adaptation Layer) driver"
159         depends on VIDEO_DEV && VIDEO_V4L2
160         select MEDIA_CONTROLLER
161         select VIDEO_V4L2_SUBDEV_API
162         depends on SOC_DRA7XX || ARCH_K3 || COMPILE_TEST
163         select VIDEOBUF2_DMA_CONTIG
164         select V4L2_FWNODE
165         help
166           Support for the TI CAL (Camera Adaptation Layer) block
167           found on DRA72X SoC.
168           In TI Technical Reference Manual this module is referred as
169           Camera Interface Subsystem (CAMSS).
170
171 endif # V4L_PLATFORM_DRIVERS
172
173 menuconfig V4L_MEM2MEM_DRIVERS
174         bool "Memory-to-memory multimedia devices"
175         depends on VIDEO_V4L2
176         help
177           Say Y here to enable selecting drivers for V4L devices that
178           use system memory for both source and destination buffers, as opposed
179           to capture and output drivers, which use memory buffers for just
180           one of those.
181
182 if V4L_MEM2MEM_DRIVERS
183
184 config VIDEO_CODA
185         tristate "Chips&Media Coda multi-standard codec IP"
186         depends on VIDEO_DEV && VIDEO_V4L2 && (ARCH_MXC || COMPILE_TEST)
187         select SRAM
188         select VIDEOBUF2_DMA_CONTIG
189         select VIDEOBUF2_VMALLOC
190         select V4L2_JPEG_HELPER
191         select V4L2_MEM2MEM_DEV
192         select GENERIC_ALLOCATOR
193         help
194            Coda is a range of video codec IPs that supports
195            H.264, MPEG-4, and other video formats.
196
197 config VIDEO_IMX_VDOA
198         def_tristate VIDEO_CODA if SOC_IMX6Q || COMPILE_TEST
199
200 config VIDEO_IMX_PXP
201         tristate "i.MX Pixel Pipeline (PXP)"
202         depends on VIDEO_DEV && VIDEO_V4L2 && (ARCH_MXC || COMPILE_TEST)
203         select VIDEOBUF2_DMA_CONTIG
204         select V4L2_MEM2MEM_DEV
205         help
206           The i.MX Pixel Pipeline is a memory-to-memory engine for scaling,
207           color space conversion, and rotation.
208
209 config VIDEO_MEDIATEK_JPEG
210         tristate "Mediatek JPEG Codec driver"
211         depends on MTK_IOMMU_V1 || MTK_IOMMU || COMPILE_TEST
212         depends on VIDEO_DEV && VIDEO_V4L2
213         depends on ARCH_MEDIATEK || COMPILE_TEST
214         select VIDEOBUF2_DMA_CONTIG
215         select V4L2_MEM2MEM_DEV
216         help
217           Mediatek jpeg codec driver provides HW capability to decode
218           JPEG format
219
220           To compile this driver as a module, choose M here: the
221           module will be called mtk-jpeg
222
223 config VIDEO_MEDIATEK_VPU
224         tristate "Mediatek Video Processor Unit"
225         depends on VIDEO_DEV && VIDEO_V4L2
226         depends on ARCH_MEDIATEK || COMPILE_TEST
227         help
228             This driver provides downloading VPU firmware and
229             communicating with VPU. This driver for hw video
230             codec embedded in Mediatek's MT8173 SOCs. It is able
231             to handle video decoding/encoding in a range of formats.
232
233             To compile this driver as a module, choose M here: the
234             module will be called mtk-vpu.
235
236 config VIDEO_MEDIATEK_MDP
237         tristate "Mediatek MDP driver"
238         depends on MTK_IOMMU || COMPILE_TEST
239         depends on VIDEO_DEV && VIDEO_V4L2
240         depends on ARCH_MEDIATEK || COMPILE_TEST
241         select VIDEOBUF2_DMA_CONTIG
242         select V4L2_MEM2MEM_DEV
243         select VIDEO_MEDIATEK_VPU
244         help
245             It is a v4l2 driver and present in Mediatek MT8173 SoCs.
246             The driver supports for scaling and color space conversion.
247
248             To compile this driver as a module, choose M here: the
249             module will be called mtk-mdp.
250
251 config VIDEO_MEDIATEK_VCODEC
252         tristate "Mediatek Video Codec driver"
253         depends on MTK_IOMMU || COMPILE_TEST
254         depends on VIDEO_DEV && VIDEO_V4L2
255         depends on ARCH_MEDIATEK || COMPILE_TEST
256         select VIDEOBUF2_DMA_CONTIG
257         select V4L2_MEM2MEM_DEV
258         select VIDEO_MEDIATEK_VPU
259         select MTK_SCP
260         help
261             Mediatek video codec driver provides HW capability to
262             encode and decode in a range of video formats
263             This driver rely on VPU driver to communicate with VPU.
264
265             To compile this driver as modules, choose M here: the
266             modules will be called mtk-vcodec-dec and mtk-vcodec-enc.
267
268 config VIDEO_MEM2MEM_DEINTERLACE
269         tristate "Deinterlace support"
270         depends on VIDEO_DEV && VIDEO_V4L2
271         depends on HAS_DMA
272         select VIDEOBUF2_DMA_CONTIG
273         select V4L2_MEM2MEM_DEV
274         help
275             Generic deinterlacing V4L2 driver.
276
277 config VIDEO_SAMSUNG_S5P_G2D
278         tristate "Samsung S5P and EXYNOS4 G2D 2d graphics accelerator driver"
279         depends on VIDEO_DEV && VIDEO_V4L2
280         depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
281         select VIDEOBUF2_DMA_CONTIG
282         select V4L2_MEM2MEM_DEV
283         help
284           This is a v4l2 driver for Samsung S5P and EXYNOS4 G2D
285           2d graphics accelerator.
286
287 config VIDEO_SAMSUNG_S5P_JPEG
288         tristate "Samsung S5P/Exynos3250/Exynos4 JPEG codec driver"
289         depends on VIDEO_DEV && VIDEO_V4L2
290         depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
291         select VIDEOBUF2_DMA_CONTIG
292         select V4L2_MEM2MEM_DEV
293         help
294           This is a v4l2 driver for Samsung S5P, EXYNOS3250
295           and EXYNOS4 JPEG codec
296
297 config VIDEO_SAMSUNG_S5P_MFC
298         tristate "Samsung S5P MFC Video Codec"
299         depends on VIDEO_DEV && VIDEO_V4L2
300         depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
301         select VIDEOBUF2_DMA_CONTIG
302         help
303             MFC 5.1 and 6.x driver for V4L2
304
305 config VIDEO_MX2_EMMAPRP
306         tristate "MX2 eMMa-PrP support"
307         depends on VIDEO_DEV && VIDEO_V4L2
308         depends on SOC_IMX27 || COMPILE_TEST
309         select VIDEOBUF2_DMA_CONTIG
310         select V4L2_MEM2MEM_DEV
311         help
312             MX2X chips have a PrP that can be used to process buffers from
313             memory to memory. Operations include resizing and format
314             conversion.
315
316 config VIDEO_SAMSUNG_EXYNOS_GSC
317         tristate "Samsung Exynos G-Scaler driver"
318         depends on VIDEO_DEV && VIDEO_V4L2
319         depends on ARCH_EXYNOS || COMPILE_TEST
320         select VIDEOBUF2_DMA_CONTIG
321         select V4L2_MEM2MEM_DEV
322         help
323           This is a v4l2 driver for Samsung EXYNOS5 SoC G-Scaler.
324
325 config VIDEO_STI_BDISP
326         tristate "STMicroelectronics BDISP 2D blitter driver"
327         depends on VIDEO_DEV && VIDEO_V4L2
328         depends on ARCH_STI || COMPILE_TEST
329         select VIDEOBUF2_DMA_CONTIG
330         select V4L2_MEM2MEM_DEV
331         help
332           This v4l2 mem2mem driver is a 2D blitter for STMicroelectronics SoC.
333
334 config VIDEO_STI_HVA
335         tristate "STMicroelectronics HVA multi-format video encoder V4L2 driver"
336         depends on VIDEO_DEV && VIDEO_V4L2
337         depends on ARCH_STI || COMPILE_TEST
338         select VIDEOBUF2_DMA_CONTIG
339         select V4L2_MEM2MEM_DEV
340         help
341           This V4L2 driver enables HVA (Hardware Video Accelerator) multi-format
342           video encoder of STMicroelectronics SoC, allowing hardware encoding of
343           raw uncompressed formats in various compressed video bitstreams format.
344
345           To compile this driver as a module, choose M here:
346           the module will be called st-hva.
347
348 config VIDEO_STI_HVA_DEBUGFS
349         bool "Export STMicroelectronics HVA internals in debugfs"
350         depends on VIDEO_STI_HVA
351         depends on DEBUG_FS
352         help
353           Select this to see information about the internal state and the last
354           operation of STMicroelectronics HVA multi-format video encoder in
355           debugfs.
356
357           Choose N unless you know you need this.
358
359 config VIDEO_STI_DELTA
360         tristate "STMicroelectronics DELTA multi-format video decoder V4L2 driver"
361         depends on VIDEO_DEV && VIDEO_V4L2
362         depends on ARCH_STI || COMPILE_TEST
363         help
364                 This V4L2 driver enables DELTA multi-format video decoder
365                 of STMicroelectronics STiH4xx SoC series allowing hardware
366                 decoding of various compressed video bitstream format in
367                 raw uncompressed format.
368
369                 Use this option to see the decoders available for such
370                 hardware.
371
372                 Please notice that the driver will only be built if
373                 at least one of the DELTA decoder below is selected.
374
375 if VIDEO_STI_DELTA
376
377 config VIDEO_STI_DELTA_MJPEG
378         bool "STMicroelectronics DELTA MJPEG support"
379         default y
380         help
381                 Enables DELTA MJPEG hardware support.
382
383                 To compile this driver as a module, choose M here:
384                 the module will be called st-delta.
385
386 config VIDEO_STI_DELTA_DRIVER
387         tristate
388         depends on VIDEO_STI_DELTA
389         depends on VIDEO_STI_DELTA_MJPEG
390         default VIDEO_STI_DELTA_MJPEG
391         select VIDEOBUF2_DMA_CONTIG
392         select V4L2_MEM2MEM_DEV
393         select RPMSG
394
395 endif # VIDEO_STI_DELTA
396
397 config VIDEO_RENESAS_FDP1
398         tristate "Renesas Fine Display Processor"
399         depends on VIDEO_DEV && VIDEO_V4L2
400         depends on ARCH_RENESAS || COMPILE_TEST
401         depends on (!ARM64 && !VIDEO_RENESAS_FCP) || VIDEO_RENESAS_FCP
402         select VIDEOBUF2_DMA_CONTIG
403         select V4L2_MEM2MEM_DEV
404         help
405           This is a V4L2 driver for the Renesas Fine Display Processor
406           providing colour space conversion, and de-interlacing features.
407
408           To compile this driver as a module, choose M here: the module
409           will be called rcar_fdp1.
410
411 config VIDEO_RENESAS_JPU
412         tristate "Renesas JPEG Processing Unit"
413         depends on VIDEO_DEV && VIDEO_V4L2
414         depends on ARCH_RENESAS || COMPILE_TEST
415         select VIDEOBUF2_DMA_CONTIG
416         select V4L2_MEM2MEM_DEV
417         help
418           This is a V4L2 driver for the Renesas JPEG Processing Unit.
419
420           To compile this driver as a module, choose M here: the module
421           will be called rcar_jpu.
422
423 config VIDEO_RENESAS_FCP
424         tristate "Renesas Frame Compression Processor"
425         depends on ARCH_RENESAS || COMPILE_TEST
426         depends on OF
427         help
428           This is a driver for the Renesas Frame Compression Processor (FCP).
429           The FCP is a companion module of video processing modules in the
430           Renesas R-Car Gen3 and RZ/G2 SoCs. It handles memory access for
431           the codec, VSP and FDP modules.
432
433           To compile this driver as a module, choose M here: the module
434           will be called rcar-fcp.
435
436 config VIDEO_RENESAS_VSP1
437         tristate "Renesas VSP1 Video Processing Engine"
438         depends on VIDEO_V4L2
439         depends on ARCH_RENESAS || COMPILE_TEST
440         depends on (!ARM64 && !VIDEO_RENESAS_FCP) || VIDEO_RENESAS_FCP
441         select MEDIA_CONTROLLER
442         select VIDEO_V4L2_SUBDEV_API
443         select VIDEOBUF2_DMA_CONTIG
444         select VIDEOBUF2_VMALLOC
445         help
446           This is a V4L2 driver for the Renesas VSP1 video processing engine.
447
448           To compile this driver as a module, choose M here: the module
449           will be called vsp1.
450
451 config VIDEO_ROCKCHIP_RGA
452         tristate "Rockchip Raster 2d Graphic Acceleration Unit"
453         depends on VIDEO_DEV && VIDEO_V4L2
454         depends on ARCH_ROCKCHIP || COMPILE_TEST
455         select VIDEOBUF2_DMA_SG
456         select V4L2_MEM2MEM_DEV
457         help
458           This is a v4l2 driver for Rockchip SOC RGA 2d graphics accelerator.
459           Rockchip RGA is a separate 2D raster graphic acceleration unit.
460           It accelerates 2D graphics operations, such as point/line drawing,
461           image scaling, rotation, BitBLT, alpha blending and image blur/sharpness.
462
463           To compile this driver as a module choose m here.
464
465 config VIDEO_TI_VPE
466         tristate "TI VPE (Video Processing Engine) driver"
467         depends on VIDEO_DEV && VIDEO_V4L2
468         depends on SOC_DRA7XX || COMPILE_TEST
469         select VIDEOBUF2_DMA_CONTIG
470         select V4L2_MEM2MEM_DEV
471         select VIDEO_TI_VPDMA
472         select VIDEO_TI_SC
473         select VIDEO_TI_CSC
474         help
475           Support for the TI VPE(Video Processing Engine) block
476           found on DRA7XX SoC.
477
478 config VIDEO_TI_VPE_DEBUG
479         bool "VPE debug messages"
480         depends on VIDEO_TI_VPE
481         help
482           Enable debug messages on VPE driver.
483
484 config VIDEO_QCOM_VENUS
485         tristate "Qualcomm Venus V4L2 encoder/decoder driver"
486         depends on VIDEO_DEV && VIDEO_V4L2
487         depends on (ARCH_QCOM && IOMMU_DMA) || COMPILE_TEST
488         depends on INTERCONNECT || !INTERCONNECT
489         select QCOM_MDT_LOADER if ARCH_QCOM
490         select QCOM_SCM if ARCH_QCOM
491         select VIDEOBUF2_DMA_SG
492         select V4L2_MEM2MEM_DEV
493         help
494           This is a V4L2 driver for Qualcomm Venus video accelerator
495           hardware. It accelerates encoding and decoding operations
496           on various Qualcomm SoCs.
497           To compile this driver as a module choose m here.
498
499 config VIDEO_SUN8I_DEINTERLACE
500         tristate "Allwinner Deinterlace driver"
501         depends on VIDEO_DEV && VIDEO_V4L2
502         depends on ARCH_SUNXI || COMPILE_TEST
503         depends on COMMON_CLK && OF
504         depends on PM
505         select VIDEOBUF2_DMA_CONTIG
506         select V4L2_MEM2MEM_DEV
507         help
508            Support for the Allwinner deinterlace unit with scaling
509            capability found on some SoCs, like H3.
510            To compile this driver as a module choose m here.
511
512 config VIDEO_SUN8I_ROTATE
513         tristate "Allwinner DE2 rotation driver"
514         depends on VIDEO_DEV && VIDEO_V4L2
515         depends on ARCH_SUNXI || COMPILE_TEST
516         depends on COMMON_CLK && OF
517         depends on PM
518         select VIDEOBUF2_DMA_CONTIG
519         select V4L2_MEM2MEM_DEV
520         help
521            Support for the Allwinner DE2 rotation unit.
522            To compile this driver as a module choose m here.
523
524 endif # V4L_MEM2MEM_DRIVERS
525
526 # TI VIDEO PORT Helper Modules
527 # These will be selected by VPE and VIP
528 config VIDEO_TI_VPDMA
529         tristate
530
531 config VIDEO_TI_SC
532         tristate
533
534 config VIDEO_TI_CSC
535         tristate
536
537 menuconfig DVB_PLATFORM_DRIVERS
538         bool "DVB platform devices"
539         depends on MEDIA_DIGITAL_TV_SUPPORT
540         help
541           Say Y here to enable support for platform-specific Digital TV drivers.
542
543 if DVB_PLATFORM_DRIVERS
544 source "drivers/media/platform/sti/c8sectpfe/Kconfig"
545 endif #DVB_PLATFORM_DRIVERS
546
547 menuconfig SDR_PLATFORM_DRIVERS
548         bool "SDR platform devices"
549         depends on MEDIA_SDR_SUPPORT
550         help
551           Say Y here to enable support for platform-specific SDR Drivers.
552
553 if SDR_PLATFORM_DRIVERS
554
555 config VIDEO_RCAR_DRIF
556         tristate "Renesas Digital Radio Interface (DRIF)"
557         depends on VIDEO_V4L2
558         depends on ARCH_RENESAS || COMPILE_TEST
559         select VIDEOBUF2_VMALLOC
560         help
561           Say Y if you want to enable R-Car Gen3 DRIF support. DRIF is Digital
562           Radio Interface that interfaces with an RF front end chip. It is a
563           receiver of digital data which uses DMA to transfer received data to
564           a configured location for an application to use.
565
566           To compile this driver as a module, choose M here; the module
567           will be called rcar_drif.
568
569 endif # SDR_PLATFORM_DRIVERS