Free Electrons

Embedded Linux Experts

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
#
# Platform drivers
#	Most drivers here are currently for webcam support

menuconfig V4L_PLATFORM_DRIVERS
	bool "V4L platform devices"
	depends on MEDIA_CAMERA_SUPPORT
	default n
	---help---
	  Say Y here to enable support for platform-specific V4L drivers.

if V4L_PLATFORM_DRIVERS

source "drivers/media/platform/marvell-ccic/Kconfig"

config VIDEO_VIA_CAMERA
	tristate "VIAFB camera controller support"
	depends on FB_VIA
	select VIDEOBUF_DMA_SG
	select VIDEO_OV7670
	help
	   Driver support for the integrated camera controller in VIA
	   Chrome9 chipsets.  Currently only tested on OLPC xo-1.5 systems
	   with ov7670 sensors.

#
# Platform multimedia device configuration
#

source "drivers/media/platform/davinci/Kconfig"

source "drivers/media/platform/omap/Kconfig"

source "drivers/media/platform/blackfin/Kconfig"

config VIDEO_SH_VOU
	tristate "SuperH VOU video output driver"
	depends on MEDIA_CAMERA_SUPPORT
	depends on VIDEO_DEV && I2C && HAS_DMA
	depends on ARCH_SHMOBILE || COMPILE_TEST
	select VIDEOBUF2_DMA_CONTIG
	help
	  Support for the Video Output Unit (VOU) on SuperH SoCs.

config VIDEO_VIU
	tristate "Freescale VIU Video Driver"
	depends on VIDEO_V4L2 && PPC_MPC512x
	select VIDEOBUF_DMA_CONTIG
	default y
	---help---
	  Support for Freescale VIU video driver. This device captures
	  video data, or overlays video on DIU frame buffer.

	  Say Y here if you want to enable VIU device on MPC5121e Rev2+.
	  In doubt, say N.

config VIDEO_M32R_AR
	tristate "AR devices"
	depends on VIDEO_V4L2
	depends on M32R || COMPILE_TEST
	---help---
	  This is a video4linux driver for the Renesas AR (Artificial Retina)
	  camera module.

config VIDEO_M32R_AR_M64278
	tristate "AR device with color module M64278(VGA)"
	depends on PLAT_M32700UT
	select VIDEO_M32R_AR
	---help---
	  This is a video4linux driver for the Renesas AR (Artificial
	  Retina) with M64278E-800 camera module.
	  This module supports VGA(640x480 pixels) resolutions.

	  To compile this driver as a module, choose M here: the
	  module will be called arv.

config VIDEO_OMAP3
	tristate "OMAP 3 Camera support"
	depends on VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API && ARCH_OMAP3
	depends on HAS_DMA && OF
	depends on OMAP_IOMMU
	select ARM_DMA_USE_IOMMU
	select VIDEOBUF2_DMA_CONTIG
	select MFD_SYSCON
	---help---
	  Driver for an OMAP 3 camera controller.

config VIDEO_OMAP3_DEBUG
	bool "OMAP 3 Camera debug messages"
	depends on VIDEO_OMAP3
	---help---
	  Enable debug messages on OMAP 3 camera controller driver.

config VIDEO_PXA27x
	tristate "PXA27x Quick Capture Interface driver"
	depends on VIDEO_DEV && VIDEO_V4L2 && HAS_DMA
	depends on PXA27x || COMPILE_TEST
	select VIDEOBUF2_DMA_SG
	select SG_SPLIT
	---help---
	  This is a v4l2 driver for the PXA27x Quick Capture Interface

config VIDEO_S3C_CAMIF
	tristate "Samsung S3C24XX/S3C64XX SoC Camera Interface driver"
	depends on VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API
	depends on PM
	depends on ARCH_S3C64XX || PLAT_S3C24XX || COMPILE_TEST
	depends on HAS_DMA
	select VIDEOBUF2_DMA_CONTIG
	---help---
	  This is a v4l2 driver for s3c24xx and s3c64xx SoC series camera
	  host interface (CAMIF).

	  To compile this driver as a module, choose M here: the module
	  will be called s3c-camif.

source "drivers/media/platform/soc_camera/Kconfig"
source "drivers/media/platform/exynos4-is/Kconfig"
source "drivers/media/platform/am437x/Kconfig"
source "drivers/media/platform/xilinx/Kconfig"
source "drivers/media/platform/rcar-vin/Kconfig"
source "drivers/media/platform/atmel/Kconfig"

config VIDEO_TI_CAL
	tristate "TI CAL (Camera Adaptation Layer) driver"
	depends on VIDEO_DEV && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API
	depends on SOC_DRA7XX || COMPILE_TEST
	depends on HAS_DMA
	select VIDEOBUF2_DMA_CONTIG
	default n
	---help---
	  Support for the TI CAL (Camera Adaptation Layer) block
	  found on DRA72X SoC.
	  In TI Technical Reference Manual this module is referred as
	  Camera Interface Subsystem (CAMSS).

endif # V4L_PLATFORM_DRIVERS

menuconfig V4L_MEM2MEM_DRIVERS
	bool "Memory-to-memory multimedia devices"
	depends on VIDEO_V4L2
	depends on MEDIA_CAMERA_SUPPORT
	default n
	---help---
	  Say Y here to enable selecting drivers for V4L devices that
	  use system memory for both source and destination buffers, as opposed
	  to capture and output drivers, which use memory buffers for just
	  one of those.

if V4L_MEM2MEM_DRIVERS

config VIDEO_CODA
	tristate "Chips&Media Coda multi-standard codec IP"
	depends on VIDEO_DEV && VIDEO_V4L2 && (ARCH_MXC || COMPILE_TEST)
	depends on HAS_DMA
	select SRAM
	select VIDEOBUF2_DMA_CONTIG
	select VIDEOBUF2_VMALLOC
	select V4L2_MEM2MEM_DEV
	select GENERIC_ALLOCATOR
	---help---
	   Coda is a range of video codec IPs that supports
	   H.264, MPEG-4, and other video formats.

config VIDEO_IMX_VDOA
	def_tristate VIDEO_CODA if SOC_IMX6Q || COMPILE_TEST

config VIDEO_MEDIATEK_JPEG
	tristate "Mediatek JPEG Codec driver"
	depends on MTK_IOMMU_V1 || COMPILE_TEST
	depends on VIDEO_DEV && VIDEO_V4L2
	depends on ARCH_MEDIATEK || COMPILE_TEST
	depends on HAS_DMA
	select VIDEOBUF2_DMA_CONTIG
	select V4L2_MEM2MEM_DEV
	---help---
	  Mediatek jpeg codec driver provides HW capability to decode
	  JPEG format

	  To compile this driver as a module, choose M here: the
	  module will be called mtk-jpeg

config VIDEO_MEDIATEK_VPU
	tristate "Mediatek Video Processor Unit"
	depends on VIDEO_DEV && VIDEO_V4L2 && HAS_DMA
	depends on ARCH_MEDIATEK || COMPILE_TEST
	---help---
	    This driver provides downloading VPU firmware and
	    communicating with VPU. This driver for hw video
	    codec embedded in Mediatek's MT8173 SOCs. It is able
	    to handle video decoding/encoding in a range of formats.

	    To compile this driver as a module, choose M here: the
	    module will be called mtk-vpu.

config VIDEO_MEDIATEK_MDP
	tristate "Mediatek MDP driver"
	depends on MTK_IOMMU || COMPILE_TEST
	depends on VIDEO_DEV && VIDEO_V4L2
	depends on ARCH_MEDIATEK || COMPILE_TEST
	depends on HAS_DMA
	select VIDEOBUF2_DMA_CONTIG
	select V4L2_MEM2MEM_DEV
	select VIDEO_MEDIATEK_VPU
	default n
	---help---
	    It is a v4l2 driver and present in Mediatek MT8173 SoCs.
	    The driver supports for scaling and color space conversion.

	    To compile this driver as a module, choose M here: the
	    module will be called mtk-mdp.

config VIDEO_MEDIATEK_VCODEC
	tristate "Mediatek Video Codec driver"
	depends on MTK_IOMMU || COMPILE_TEST
	depends on VIDEO_DEV && VIDEO_V4L2 && HAS_DMA
	depends on ARCH_MEDIATEK || COMPILE_TEST
	select VIDEOBUF2_DMA_CONTIG
	select V4L2_MEM2MEM_DEV
	select VIDEO_MEDIATEK_VPU
	default n
	---help---
	    Mediatek video codec driver provides HW capability to
	    encode and decode in a range of video formats
	    This driver rely on VPU driver to communicate with VPU.

	    To compile this driver as a module, choose M here: the
	    module will be called mtk-vcodec

config VIDEO_MEM2MEM_DEINTERLACE
	tristate "Deinterlace support"
	depends on VIDEO_DEV && VIDEO_V4L2 && DMA_ENGINE
	depends on HAS_DMA
	select VIDEOBUF2_DMA_CONTIG
	select V4L2_MEM2MEM_DEV
	help
	    Generic deinterlacing V4L2 driver.

config VIDEO_SAMSUNG_S5P_G2D
	tristate "Samsung S5P and EXYNOS4 G2D 2d graphics accelerator driver"
	depends on VIDEO_DEV && VIDEO_V4L2
	depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
	depends on HAS_DMA
	select VIDEOBUF2_DMA_CONTIG
	select V4L2_MEM2MEM_DEV
	default n
	---help---
	  This is a v4l2 driver for Samsung S5P and EXYNOS4 G2D
	  2d graphics accelerator.

config VIDEO_SAMSUNG_S5P_JPEG
	tristate "Samsung S5P/Exynos3250/Exynos4 JPEG codec driver"
	depends on VIDEO_DEV && VIDEO_V4L2
	depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
	depends on HAS_DMA
	select VIDEOBUF2_DMA_CONTIG
	select V4L2_MEM2MEM_DEV
	---help---
	  This is a v4l2 driver for Samsung S5P, EXYNOS3250
	  and EXYNOS4 JPEG codec

config VIDEO_SAMSUNG_S5P_MFC
	tristate "Samsung S5P MFC Video Codec"
	depends on VIDEO_DEV && VIDEO_V4L2
	depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
	depends on HAS_DMA
	select VIDEOBUF2_DMA_CONTIG
	default n
	help
	    MFC 5.1 and 6.x driver for V4L2

config VIDEO_MX2_EMMAPRP
	tristate "MX2 eMMa-PrP support"
	depends on VIDEO_DEV && VIDEO_V4L2
	depends on SOC_IMX27 || COMPILE_TEST
	depends on HAS_DMA
	select VIDEOBUF2_DMA_CONTIG
	select V4L2_MEM2MEM_DEV
	help
	    MX2X chips have a PrP that can be used to process buffers from
	    memory to memory. Operations include resizing and format
	    conversion.

config VIDEO_SAMSUNG_EXYNOS_GSC
	tristate "Samsung Exynos G-Scaler driver"
	depends on VIDEO_DEV && VIDEO_V4L2
	depends on ARCH_EXYNOS || COMPILE_TEST
	depends on HAS_DMA
	select VIDEOBUF2_DMA_CONTIG
	select V4L2_MEM2MEM_DEV
	help
	  This is a v4l2 driver for Samsung EXYNOS5 SoC G-Scaler.

config VIDEO_STI_BDISP
	tristate "STMicroelectronics BDISP 2D blitter driver"
	depends on VIDEO_DEV && VIDEO_V4L2
	depends on HAS_DMA
	depends on ARCH_STI || COMPILE_TEST
	select VIDEOBUF2_DMA_CONTIG
	select V4L2_MEM2MEM_DEV
	help
	  This v4l2 mem2mem driver is a 2D blitter for STMicroelectronics SoC.

config VIDEO_STI_HVA
	tristate "STMicroelectronics HVA multi-format video encoder V4L2 driver"
	depends on VIDEO_DEV && VIDEO_V4L2
	depends on HAS_DMA
	depends on ARCH_STI || COMPILE_TEST
	select VIDEOBUF2_DMA_CONTIG
	select V4L2_MEM2MEM_DEV
	help
	  This V4L2 driver enables HVA (Hardware Video Accelerator) multi-format
	  video encoder of STMicroelectronics SoC, allowing hardware encoding of
	  raw uncompressed formats in various compressed video bitstreams format.

	  To compile this driver as a module, choose M here:
	  the module will be called st-hva.

config VIDEO_STI_HVA_DEBUGFS
	bool "Export STMicroelectronics HVA internals in debugfs"
	depends on VIDEO_STI_HVA
	depends on DEBUG_FS
	help
	  Select this to see information about the internal state and the last
          operation of STMicroelectronics HVA multi-format video encoder in
          debugfs.

          Choose N unless you know you need this.

config VIDEO_STI_DELTA
	tristate "STMicroelectronics DELTA multi-format video decoder V4L2 driver"
	depends on VIDEO_DEV && VIDEO_V4L2
	depends on ARCH_STI || COMPILE_TEST
	depends on HAS_DMA
	help
		This V4L2 driver enables DELTA multi-format video decoder
		of STMicroelectronics STiH4xx SoC series allowing hardware
		decoding of various compressed video bitstream format in
		raw uncompressed format.

		Use this option to see the decoders available for such
		hardware.

		Please notice that the driver will only be built if
		at least one of the DELTA decoder below is selected.

if VIDEO_STI_DELTA

config VIDEO_STI_DELTA_MJPEG
	bool "STMicroelectronics DELTA MJPEG support"
	default y
	help
		Enables DELTA MJPEG hardware support.

		To compile this driver as a module, choose M here:
		the module will be called st-delta.

config VIDEO_STI_DELTA_DRIVER
	tristate
	depends on VIDEO_STI_DELTA
	depends on VIDEO_STI_DELTA_MJPEG
	default VIDEO_STI_DELTA_MJPEG
	select VIDEOBUF2_DMA_CONTIG
	select V4L2_MEM2MEM_DEV
	select RPMSG

endif # VIDEO_STI_DELTA

config VIDEO_SH_VEU
	tristate "SuperH VEU mem2mem video processing driver"
	depends on VIDEO_DEV && VIDEO_V4L2 && HAS_DMA
	select VIDEOBUF2_DMA_CONTIG
	select V4L2_MEM2MEM_DEV
	help
	    Support for the Video Engine Unit (VEU) on SuperH and
	    SH-Mobile SoCs.

config VIDEO_RENESAS_FDP1
	tristate "Renesas Fine Display Processor"
	depends on VIDEO_DEV && VIDEO_V4L2 && HAS_DMA
	depends on ARCH_SHMOBILE || COMPILE_TEST
	depends on (!ARCH_RENESAS && !VIDEO_RENESAS_FCP) || VIDEO_RENESAS_FCP
	select VIDEOBUF2_DMA_CONTIG
	select V4L2_MEM2MEM_DEV
	---help---
	  This is a V4L2 driver for the Renesas Fine Display Processor
	  providing colour space conversion, and de-interlacing features.

	  To compile this driver as a module, choose M here: the module
	  will be called rcar_fdp1.

config VIDEO_RENESAS_JPU
	tristate "Renesas JPEG Processing Unit"
	depends on VIDEO_DEV && VIDEO_V4L2 && HAS_DMA
	depends on ARCH_RENESAS || COMPILE_TEST
	select VIDEOBUF2_DMA_CONTIG
	select V4L2_MEM2MEM_DEV
	---help---
	  This is a V4L2 driver for the Renesas JPEG Processing Unit.

	  To compile this driver as a module, choose M here: the module
	  will be called rcar_jpu.

config VIDEO_RENESAS_FCP
	tristate "Renesas Frame Compression Processor"
	depends on ARCH_RENESAS || COMPILE_TEST
	depends on OF
	---help---
	  This is a driver for the Renesas Frame Compression Processor (FCP).
	  The FCP is a companion module of video processing modules in the
	  Renesas R-Car Gen3 SoCs. It handles memory access for the codec,
	  VSP and FDP modules.

	  To compile this driver as a module, choose M here: the module
	  will be called rcar-fcp.

config VIDEO_RENESAS_VSP1
	tristate "Renesas VSP1 Video Processing Engine"
	depends on VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API && HAS_DMA
	depends on (ARCH_RENESAS && OF) || COMPILE_TEST
	depends on (!ARM64 && !VIDEO_RENESAS_FCP) || VIDEO_RENESAS_FCP
	select VIDEOBUF2_DMA_CONTIG
	select VIDEOBUF2_VMALLOC
	---help---
	  This is a V4L2 driver for the Renesas VSP1 video processing engine.

	  To compile this driver as a module, choose M here: the module
	  will be called vsp1.

config VIDEO_TI_VPE
	tristate "TI VPE (Video Processing Engine) driver"
	depends on VIDEO_DEV && VIDEO_V4L2
	depends on SOC_DRA7XX || COMPILE_TEST
	depends on HAS_DMA
	select VIDEOBUF2_DMA_CONTIG
	select V4L2_MEM2MEM_DEV
	select VIDEO_TI_VPDMA
	select VIDEO_TI_SC
	select VIDEO_TI_CSC
	default n
	---help---
	  Support for the TI VPE(Video Processing Engine) block
	  found on DRA7XX SoC.

config VIDEO_TI_VPE_DEBUG
	bool "VPE debug messages"
	depends on VIDEO_TI_VPE
	---help---
	  Enable debug messages on VPE driver.

endif # V4L_MEM2MEM_DRIVERS

# TI VIDEO PORT Helper Modules
# These will be selected by VPE and VIP
config VIDEO_TI_VPDMA
	tristate

config VIDEO_TI_SC
	tristate

config VIDEO_TI_CSC
	tristate

menuconfig V4L_TEST_DRIVERS
	bool "Media test drivers"
	depends on MEDIA_CAMERA_SUPPORT

if V4L_TEST_DRIVERS

source "drivers/media/platform/vimc/Kconfig"

source "drivers/media/platform/vivid/Kconfig"

config VIDEO_VIM2M
	tristate "Virtual Memory-to-Memory Driver"
	depends on VIDEO_DEV && VIDEO_V4L2
	select VIDEOBUF2_VMALLOC
	select V4L2_MEM2MEM_DEV
	default n
	---help---
	  This is a virtual test device for the memory-to-memory driver
	  framework.
endif #V4L_TEST_DRIVERS

menuconfig DVB_PLATFORM_DRIVERS
	bool "DVB platform devices"
	depends on MEDIA_DIGITAL_TV_SUPPORT
	default n
	---help---
	  Say Y here to enable support for platform-specific Digital TV drivers.

if DVB_PLATFORM_DRIVERS
source "drivers/media/platform/sti/c8sectpfe/Kconfig"
endif #DVB_PLATFORM_DRIVERS

menuconfig CEC_PLATFORM_DRIVERS
	bool "CEC platform devices"
	depends on MEDIA_CEC_SUPPORT

if CEC_PLATFORM_DRIVERS

config VIDEO_SAMSUNG_S5P_CEC
       tristate "Samsung S5P CEC driver"
       depends on PLAT_S5P || ARCH_EXYNOS || COMPILE_TEST
       select CEC_CORE
       select CEC_NOTIFIER
       ---help---
         This is a driver for Samsung S5P HDMI CEC interface. It uses the
         generic CEC framework interface.
         CEC bus is present in the HDMI connector and enables communication
         between compatible devices.

config VIDEO_STI_HDMI_CEC
       tristate "STMicroelectronics STiH4xx HDMI CEC driver"
       depends on ARCH_STI || COMPILE_TEST
       select CEC_CORE
       select CEC_NOTIFIER
       ---help---
         This is a driver for STIH4xx HDMI CEC interface. It uses the
         generic CEC framework interface.
         CEC bus is present in the HDMI connector and enables communication
         between compatible devices.

endif #CEC_PLATFORM_DRIVERS