Merge branch 'work.sysctl' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
[linux-2.6-microblaze.git] / drivers / media / i2c / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2 #
3 # Multimedia Video device configuration
4 #
5
6 if VIDEO_V4L2
7
8 comment "IR I2C driver auto-selected by 'Autoselect ancillary drivers'"
9         depends on MEDIA_SUBDRV_AUTOSELECT && I2C && RC_CORE
10
11 config VIDEO_IR_I2C
12         tristate "I2C module for IR" if !MEDIA_SUBDRV_AUTOSELECT || EXPERT
13         depends on I2C && RC_CORE
14         default y
15         help
16           Most boards have an IR chip directly connected via GPIO. However,
17           some video boards have the IR connected via I2C bus.
18
19           If your board doesn't have an I2C IR chip, you may disable this
20           option.
21
22           In doubt, say Y.
23
24 #
25 # V4L2 I2C drivers that aren't related with Camera support
26 #
27
28 comment "audio, video and radio I2C drivers auto-selected by 'Autoselect ancillary drivers'"
29         depends on MEDIA_HIDE_ANCILLARY_SUBDRV
30 #
31 # Encoder / Decoder module configuration
32 #
33
34 menu "Audio decoders, processors and mixers"
35         visible if !MEDIA_HIDE_ANCILLARY_SUBDRV
36
37 config VIDEO_TVAUDIO
38         tristate "Simple audio decoder chips"
39         depends on VIDEO_V4L2 && I2C
40         help
41           Support for several audio decoder chips found on some bt8xx boards:
42           Philips: tda9840, tda9873h, tda9874h/a, tda9850, tda985x, tea6300,
43                    tea6320, tea6420, tda8425, ta8874z.
44           Microchip: pic16c54 based design on ProVideo PV951 board.
45
46           To compile this driver as a module, choose M here: the
47           module will be called tvaudio.
48
49 config VIDEO_TDA7432
50         tristate "Philips TDA7432 audio processor"
51         depends on VIDEO_V4L2 && I2C
52         help
53           Support for tda7432 audio decoder chip found on some bt8xx boards.
54
55           To compile this driver as a module, choose M here: the
56           module will be called tda7432.
57
58 config VIDEO_TDA9840
59         tristate "Philips TDA9840 audio processor"
60         depends on I2C
61         help
62           Support for tda9840 audio decoder chip found on some Zoran boards.
63
64           To compile this driver as a module, choose M here: the
65           module will be called tda9840.
66
67 config VIDEO_TDA1997X
68         tristate "NXP TDA1997x HDMI receiver"
69         depends on VIDEO_V4L2 && I2C
70         depends on SND_SOC
71         select HDMI
72         select SND_PCM
73         select V4L2_FWNODE
74         select MEDIA_CONTROLLER
75         select VIDEO_V4L2_SUBDEV_API
76         help
77           V4L2 subdevice driver for the NXP TDA1997x HDMI receivers.
78
79           To compile this driver as a module, choose M here: the
80           module will be called tda1997x.
81
82 config VIDEO_TEA6415C
83         tristate "Philips TEA6415C audio processor"
84         depends on I2C
85         help
86           Support for tea6415c audio decoder chip found on some bt8xx boards.
87
88           To compile this driver as a module, choose M here: the
89           module will be called tea6415c.
90
91 config VIDEO_TEA6420
92         tristate "Philips TEA6420 audio processor"
93         depends on I2C
94         help
95           Support for tea6420 audio decoder chip found on some bt8xx boards.
96
97           To compile this driver as a module, choose M here: the
98           module will be called tea6420.
99
100 config VIDEO_MSP3400
101         tristate "Micronas MSP34xx audio decoders"
102         depends on VIDEO_V4L2 && I2C
103         help
104           Support for the Micronas MSP34xx series of audio decoders.
105
106           To compile this driver as a module, choose M here: the
107           module will be called msp3400.
108
109 config VIDEO_CS3308
110         tristate "Cirrus Logic CS3308 audio ADC"
111         depends on VIDEO_V4L2 && I2C
112         help
113           Support for the Cirrus Logic CS3308 High Performance 8-Channel
114           Analog Volume Control
115
116           To compile this driver as a module, choose M here: the
117           module will be called cs3308.
118
119 config VIDEO_CS5345
120         tristate "Cirrus Logic CS5345 audio ADC"
121         depends on VIDEO_V4L2 && I2C
122         help
123           Support for the Cirrus Logic CS5345 24-bit, 192 kHz
124           stereo A/D converter.
125
126           To compile this driver as a module, choose M here: the
127           module will be called cs5345.
128
129 config VIDEO_CS53L32A
130         tristate "Cirrus Logic CS53L32A audio ADC"
131         depends on VIDEO_V4L2 && I2C
132         help
133           Support for the Cirrus Logic CS53L32A low voltage
134           stereo A/D converter.
135
136           To compile this driver as a module, choose M here: the
137           module will be called cs53l32a.
138
139 config VIDEO_TLV320AIC23B
140         tristate "Texas Instruments TLV320AIC23B audio codec"
141         depends on VIDEO_V4L2 && I2C
142         help
143           Support for the Texas Instruments TLV320AIC23B audio codec.
144
145           To compile this driver as a module, choose M here: the
146           module will be called tlv320aic23b.
147
148 config VIDEO_UDA1342
149         tristate "Philips UDA1342 audio codec"
150         depends on VIDEO_V4L2 && I2C
151         help
152           Support for the Philips UDA1342 audio codec.
153
154           To compile this driver as a module, choose M here: the
155           module will be called uda1342.
156
157 config VIDEO_WM8775
158         tristate "Wolfson Microelectronics WM8775 audio ADC with input mixer"
159         depends on VIDEO_V4L2 && I2C
160         help
161           Support for the Wolfson Microelectronics WM8775 high
162           performance stereo A/D Converter with a 4 channel input mixer.
163
164           To compile this driver as a module, choose M here: the
165           module will be called wm8775.
166
167 config VIDEO_WM8739
168         tristate "Wolfson Microelectronics WM8739 stereo audio ADC"
169         depends on VIDEO_V4L2 && I2C
170         help
171           Support for the Wolfson Microelectronics WM8739
172           stereo A/D Converter.
173
174           To compile this driver as a module, choose M here: the
175           module will be called wm8739.
176
177 config VIDEO_VP27SMPX
178         tristate "Panasonic VP27's internal MPX"
179         depends on VIDEO_V4L2 && I2C
180         help
181           Support for the internal MPX of the Panasonic VP27s tuner.
182
183           To compile this driver as a module, choose M here: the
184           module will be called vp27smpx.
185
186 config VIDEO_SONY_BTF_MPX
187         tristate "Sony BTF's internal MPX"
188         depends on VIDEO_V4L2 && I2C
189         help
190           Support for the internal MPX of the Sony BTF-PG472Z tuner.
191
192           To compile this driver as a module, choose M here: the
193           module will be called sony-btf-mpx.
194 endmenu
195
196 menu "RDS decoders"
197         visible if !MEDIA_HIDE_ANCILLARY_SUBDRV
198
199 config VIDEO_SAA6588
200         tristate "SAA6588 Radio Chip RDS decoder support"
201         depends on VIDEO_V4L2 && I2C
202
203         help
204           Support for this Radio Data System (RDS) decoder. This allows
205           seeing radio station identification transmitted using this
206           standard.
207
208           To compile this driver as a module, choose M here: the
209           module will be called saa6588.
210 endmenu
211
212 menu "Video decoders"
213         visible if !MEDIA_HIDE_ANCILLARY_SUBDRV
214
215 config VIDEO_ADV7180
216         tristate "Analog Devices ADV7180 decoder"
217         depends on GPIOLIB && VIDEO_V4L2 && I2C
218         select MEDIA_CONTROLLER
219         select VIDEO_V4L2_SUBDEV_API
220         help
221           Support for the Analog Devices ADV7180 video decoder.
222
223           To compile this driver as a module, choose M here: the
224           module will be called adv7180.
225
226 config VIDEO_ADV7183
227         tristate "Analog Devices ADV7183 decoder"
228         depends on VIDEO_V4L2 && I2C
229         help
230           V4l2 subdevice driver for the Analog Devices
231           ADV7183 video decoder.
232
233           To compile this driver as a module, choose M here: the
234           module will be called adv7183.
235
236 config VIDEO_ADV748X
237         tristate "Analog Devices ADV748x decoder"
238         depends on VIDEO_V4L2 && I2C
239         depends on OF
240         select MEDIA_CONTROLLER
241         select VIDEO_V4L2_SUBDEV_API
242         select REGMAP_I2C
243         select V4L2_FWNODE
244         help
245           V4L2 subdevice driver for the Analog Devices
246           ADV7481 and ADV7482 HDMI/Analog video decoders.
247
248           To compile this driver as a module, choose M here: the
249           module will be called adv748x.
250
251 config VIDEO_ADV7604
252         tristate "Analog Devices ADV7604 decoder"
253         depends on VIDEO_V4L2 && I2C
254         depends on GPIOLIB || COMPILE_TEST
255         select MEDIA_CONTROLLER
256         select VIDEO_V4L2_SUBDEV_API
257         select REGMAP_I2C
258         select HDMI
259         select V4L2_FWNODE
260         help
261           Support for the Analog Devices ADV7604 video decoder.
262
263           This is a Analog Devices Component/Graphics Digitizer
264           with 4:1 Multiplexed HDMI Receiver.
265
266           To compile this driver as a module, choose M here: the
267           module will be called adv7604.
268
269 config VIDEO_ADV7604_CEC
270         bool "Enable Analog Devices ADV7604 CEC support"
271         depends on VIDEO_ADV7604
272         select CEC_CORE
273         help
274           When selected the adv7604 will support the optional
275           HDMI CEC feature.
276
277 config VIDEO_ADV7842
278         tristate "Analog Devices ADV7842 decoder"
279         depends on VIDEO_V4L2 && I2C
280         select MEDIA_CONTROLLER
281         select VIDEO_V4L2_SUBDEV_API
282         select HDMI
283         help
284           Support for the Analog Devices ADV7842 video decoder.
285
286           This is a Analog Devices Component/Graphics/SD Digitizer
287           with 2:1 Multiplexed HDMI Receiver.
288
289           To compile this driver as a module, choose M here: the
290           module will be called adv7842.
291
292 config VIDEO_ADV7842_CEC
293         bool "Enable Analog Devices ADV7842 CEC support"
294         depends on VIDEO_ADV7842
295         select CEC_CORE
296         help
297           When selected the adv7842 will support the optional
298           HDMI CEC feature.
299
300 config VIDEO_BT819
301         tristate "BT819A VideoStream decoder"
302         depends on VIDEO_V4L2 && I2C
303         help
304           Support for BT819A video decoder.
305
306           To compile this driver as a module, choose M here: the
307           module will be called bt819.
308
309 config VIDEO_BT856
310         tristate "BT856 VideoStream decoder"
311         depends on VIDEO_V4L2 && I2C
312         help
313           Support for BT856 video decoder.
314
315           To compile this driver as a module, choose M here: the
316           module will be called bt856.
317
318 config VIDEO_BT866
319         tristate "BT866 VideoStream decoder"
320         depends on VIDEO_V4L2 && I2C
321         help
322           Support for BT866 video decoder.
323
324           To compile this driver as a module, choose M here: the
325           module will be called bt866.
326
327 config VIDEO_KS0127
328         tristate "KS0127 video decoder"
329         depends on VIDEO_V4L2 && I2C
330         help
331           Support for KS0127 video decoder.
332
333           This chip is used on AverMedia AVS6EYES Zoran-based MJPEG
334           cards.
335
336           To compile this driver as a module, choose M here: the
337           module will be called ks0127.
338
339 config VIDEO_ML86V7667
340         tristate "OKI ML86V7667 video decoder"
341         depends on VIDEO_V4L2 && I2C
342         help
343           Support for the OKI Semiconductor ML86V7667 video decoder.
344
345           To compile this driver as a module, choose M here: the
346           module will be called ml86v7667.
347
348 config VIDEO_SAA7110
349         tristate "Philips SAA7110 video decoder"
350         depends on VIDEO_V4L2 && I2C
351         help
352           Support for the Philips SAA7110 video decoders.
353
354           To compile this driver as a module, choose M here: the
355           module will be called saa7110.
356
357 config VIDEO_SAA711X
358         tristate "Philips SAA7111/3/4/5 video decoders"
359         depends on VIDEO_V4L2 && I2C
360         help
361           Support for the Philips SAA7111/3/4/5 video decoders.
362
363           To compile this driver as a module, choose M here: the
364           module will be called saa7115.
365
366 config VIDEO_TC358743
367         tristate "Toshiba TC358743 decoder"
368         depends on VIDEO_V4L2 && I2C
369         select MEDIA_CONTROLLER
370         select VIDEO_V4L2_SUBDEV_API
371         select HDMI
372         select V4L2_FWNODE
373         help
374           Support for the Toshiba TC358743 HDMI to MIPI CSI-2 bridge.
375
376           To compile this driver as a module, choose M here: the
377           module will be called tc358743.
378
379 config VIDEO_TC358743_CEC
380         bool "Enable Toshiba TC358743 CEC support"
381         depends on VIDEO_TC358743
382         select CEC_CORE
383         help
384           When selected the tc358743 will support the optional
385           HDMI CEC feature.
386
387 config VIDEO_TVP514X
388         tristate "Texas Instruments TVP514x video decoder"
389         depends on VIDEO_V4L2 && I2C
390         select V4L2_FWNODE
391         help
392           This is a Video4Linux2 sensor driver for the TI TVP5146/47
393           decoder. It is currently working with the TI OMAP3 camera
394           controller.
395
396           To compile this driver as a module, choose M here: the
397           module will be called tvp514x.
398
399 config VIDEO_TVP5150
400         tristate "Texas Instruments TVP5150 video decoder"
401         depends on VIDEO_V4L2 && I2C
402         select V4L2_FWNODE
403         select REGMAP_I2C
404         help
405           Support for the Texas Instruments TVP5150 video decoder.
406
407           To compile this driver as a module, choose M here: the
408           module will be called tvp5150.
409
410 config VIDEO_TVP7002
411         tristate "Texas Instruments TVP7002 video decoder"
412         depends on VIDEO_V4L2 && I2C
413         select V4L2_FWNODE
414         help
415           Support for the Texas Instruments TVP7002 video decoder.
416
417           To compile this driver as a module, choose M here: the
418           module will be called tvp7002.
419
420 config VIDEO_TW2804
421         tristate "Techwell TW2804 multiple video decoder"
422         depends on VIDEO_V4L2 && I2C
423         help
424           Support for the Techwell tw2804 multiple video decoder.
425
426           To compile this driver as a module, choose M here: the
427           module will be called tw2804.
428
429 config VIDEO_TW9903
430         tristate "Techwell TW9903 video decoder"
431         depends on VIDEO_V4L2 && I2C
432         help
433           Support for the Techwell tw9903 multi-standard video decoder
434           with high quality down scaler.
435
436           To compile this driver as a module, choose M here: the
437           module will be called tw9903.
438
439 config VIDEO_TW9906
440         tristate "Techwell TW9906 video decoder"
441         depends on VIDEO_V4L2 && I2C
442         help
443           Support for the Techwell tw9906 enhanced multi-standard comb filter
444           video decoder with YCbCr input support.
445
446           To compile this driver as a module, choose M here: the
447           module will be called tw9906.
448
449 config VIDEO_TW9910
450         tristate "Techwell TW9910 video decoder"
451         depends on VIDEO_V4L2 && I2C
452         help
453           Support for Techwell TW9910 NTSC/PAL/SECAM video decoder.
454
455           To compile this driver as a module, choose M here: the
456           module will be called tw9910.
457
458 config VIDEO_VPX3220
459         tristate "vpx3220a, vpx3216b & vpx3214c video decoders"
460         depends on VIDEO_V4L2 && I2C
461         help
462           Support for VPX322x video decoders.
463
464           To compile this driver as a module, choose M here: the
465           module will be called vpx3220.
466
467 comment "Video and audio decoders"
468
469 config VIDEO_SAA717X
470         tristate "Philips SAA7171/3/4 audio/video decoders"
471         depends on VIDEO_V4L2 && I2C
472         help
473           Support for the Philips SAA7171/3/4 audio/video decoders.
474
475           To compile this driver as a module, choose M here: the
476           module will be called saa717x.
477
478 source "drivers/media/i2c/cx25840/Kconfig"
479
480 endmenu
481
482 menu "Video encoders"
483         visible if !MEDIA_HIDE_ANCILLARY_SUBDRV
484
485 config VIDEO_SAA7127
486         tristate "Philips SAA7127/9 digital video encoders"
487         depends on VIDEO_V4L2 && I2C
488         help
489           Support for the Philips SAA7127/9 digital video encoders.
490
491           To compile this driver as a module, choose M here: the
492           module will be called saa7127.
493
494 config VIDEO_SAA7185
495         tristate "Philips SAA7185 video encoder"
496         depends on VIDEO_V4L2 && I2C
497         help
498           Support for the Philips SAA7185 video encoder.
499
500           To compile this driver as a module, choose M here: the
501           module will be called saa7185.
502
503 config VIDEO_ADV7170
504         tristate "Analog Devices ADV7170 video encoder"
505         depends on VIDEO_V4L2 && I2C
506         help
507           Support for the Analog Devices ADV7170 video encoder driver
508
509           To compile this driver as a module, choose M here: the
510           module will be called adv7170.
511
512 config VIDEO_ADV7175
513         tristate "Analog Devices ADV7175 video encoder"
514         depends on VIDEO_V4L2 && I2C
515         help
516           Support for the Analog Devices ADV7175 video encoder driver
517
518           To compile this driver as a module, choose M here: the
519           module will be called adv7175.
520
521 config VIDEO_ADV7343
522         tristate "ADV7343 video encoder"
523         depends on I2C
524         help
525           Support for Analog Devices I2C bus based ADV7343 encoder.
526
527           To compile this driver as a module, choose M here: the
528           module will be called adv7343.
529
530 config VIDEO_ADV7393
531         tristate "ADV7393 video encoder"
532         depends on I2C
533         help
534           Support for Analog Devices I2C bus based ADV7393 encoder.
535
536           To compile this driver as a module, choose M here: the
537           module will be called adv7393.
538
539 config VIDEO_ADV7511
540         tristate "Analog Devices ADV7511 encoder"
541         depends on VIDEO_V4L2 && I2C
542         depends on DRM_I2C_ADV7511=n || COMPILE_TEST
543         select MEDIA_CONTROLLER
544         select VIDEO_V4L2_SUBDEV_API
545         select HDMI
546         help
547           Support for the Analog Devices ADV7511 video encoder.
548
549           This is a Analog Devices HDMI transmitter.
550
551           To compile this driver as a module, choose M here: the
552           module will be called adv7511.
553
554 config VIDEO_ADV7511_CEC
555         bool "Enable Analog Devices ADV7511 CEC support"
556         depends on VIDEO_ADV7511
557         select CEC_CORE
558         help
559           When selected the adv7511 will support the optional
560           HDMI CEC feature.
561
562 config VIDEO_AD9389B
563         tristate "Analog Devices AD9389B encoder"
564         depends on VIDEO_V4L2 && I2C
565         select MEDIA_CONTROLLER
566         select VIDEO_V4L2_SUBDEV_API
567
568         help
569           Support for the Analog Devices AD9389B video encoder.
570
571           This is a Analog Devices HDMI transmitter.
572
573           To compile this driver as a module, choose M here: the
574           module will be called ad9389b.
575
576 config VIDEO_AK881X
577         tristate "AK8813/AK8814 video encoders"
578         depends on I2C
579         help
580           Video output driver for AKM AK8813 and AK8814 TV encoders
581
582 config VIDEO_THS8200
583         tristate "Texas Instruments THS8200 video encoder"
584         depends on VIDEO_V4L2 && I2C
585         help
586           Support for the Texas Instruments THS8200 video encoder.
587
588           To compile this driver as a module, choose M here: the
589           module will be called ths8200.
590 endmenu
591
592 menu "Video improvement chips"
593         visible if !MEDIA_HIDE_ANCILLARY_SUBDRV
594
595 config VIDEO_UPD64031A
596         tristate "NEC Electronics uPD64031A Ghost Reduction"
597         depends on VIDEO_V4L2 && I2C
598         help
599           Support for the NEC Electronics uPD64031A Ghost Reduction
600           video chip. It is most often found in NTSC TV cards made for
601           Japan and is used to reduce the 'ghosting' effect that can
602           be present in analog TV broadcasts.
603
604           To compile this driver as a module, choose M here: the
605           module will be called upd64031a.
606
607 config VIDEO_UPD64083
608         tristate "NEC Electronics uPD64083 3-Dimensional Y/C separation"
609         depends on VIDEO_V4L2 && I2C
610         help
611           Support for the NEC Electronics uPD64083 3-Dimensional Y/C
612           separation video chip. It is used to improve the quality of
613           the colors of a composite signal.
614
615           To compile this driver as a module, choose M here: the
616           module will be called upd64083.
617 endmenu
618
619 menu "Audio/Video compression chips"
620         visible if !MEDIA_HIDE_ANCILLARY_SUBDRV
621
622 config VIDEO_SAA6752HS
623         tristate "Philips SAA6752HS MPEG-2 Audio/Video Encoder"
624         depends on VIDEO_V4L2 && I2C
625         select CRC32
626         help
627           Support for the Philips SAA6752HS MPEG-2 video and MPEG-audio/AC-3
628           audio encoder with multiplexer.
629
630           To compile this driver as a module, choose M here: the
631           module will be called saa6752hs.
632
633 endmenu
634
635 menu "SDR tuner chips"
636         visible if !MEDIA_HIDE_ANCILLARY_SUBDRV
637
638 config SDR_MAX2175
639         tristate "Maxim 2175 RF to Bits tuner"
640         depends on VIDEO_V4L2 && MEDIA_SDR_SUPPORT && I2C
641         select REGMAP_I2C
642         help
643           Support for Maxim 2175 tuner. It is an advanced analog/digital
644           radio receiver with RF-to-Bits front-end designed for SDR solutions.
645
646           To compile this driver as a module, choose M here; the
647           module will be called max2175.
648
649
650 endmenu
651
652 menu "Miscellaneous helper chips"
653         visible if !MEDIA_HIDE_ANCILLARY_SUBDRV
654
655 config VIDEO_THS7303
656         tristate "THS7303/53 Video Amplifier"
657         depends on VIDEO_V4L2 && I2C
658         help
659           Support for TI THS7303/53 video amplifier
660
661           To compile this driver as a module, choose M here: the
662           module will be called ths7303.
663
664 config VIDEO_M52790
665         tristate "Mitsubishi M52790 A/V switch"
666         depends on VIDEO_V4L2 && I2C
667         help
668          Support for the Mitsubishi M52790 A/V switch.
669
670          To compile this driver as a module, choose M here: the
671          module will be called m52790.
672
673 config VIDEO_I2C
674         tristate "I2C transport video support"
675         depends on VIDEO_V4L2 && I2C
676         select VIDEOBUF2_VMALLOC
677         imply HWMON
678         help
679           Enable the I2C transport video support which supports the
680           following:
681            * Panasonic AMG88xx Grid-Eye Sensors
682            * Melexis MLX90640 Thermal Cameras
683
684           To compile this driver as a module, choose M here: the
685           module will be called video-i2c
686
687 config VIDEO_ST_MIPID02
688         tristate "STMicroelectronics MIPID02 CSI-2 to PARALLEL bridge"
689         depends on I2C && VIDEO_V4L2
690         select MEDIA_CONTROLLER
691         select VIDEO_V4L2_SUBDEV_API
692         select V4L2_FWNODE
693         help
694           Support for STMicroelectronics MIPID02 CSI-2 to PARALLEL bridge.
695           It is used to allow usage of CSI-2 sensor with PARALLEL port
696           controller.
697
698           To compile this driver as a module, choose M here: the
699           module will be called st-mipid02.
700 endmenu
701
702 #
703 # V4L2 I2C drivers that are related with Camera support
704 #
705
706 menu "Camera sensor devices"
707         visible if MEDIA_CAMERA_SUPPORT
708
709 config VIDEO_APTINA_PLL
710         tristate
711
712 config VIDEO_SMIAPP_PLL
713         tristate
714
715 config VIDEO_HI556
716         tristate "Hynix Hi-556 sensor support"
717         depends on I2C && VIDEO_V4L2
718         select MEDIA_CONTROLLER
719         select VIDEO_V4L2_SUBDEV_API
720         select V4L2_FWNODE
721         help
722           This is a Video4Linux2 sensor driver for the Hynix
723           Hi-556 camera.
724
725           To compile this driver as a module, choose M here: the
726           module will be called hi556.
727
728 config VIDEO_IMX214
729         tristate "Sony IMX214 sensor support"
730         depends on GPIOLIB && I2C && VIDEO_V4L2
731         depends on V4L2_FWNODE
732         select MEDIA_CONTROLLER
733         select VIDEO_V4L2_SUBDEV_API
734         select REGMAP_I2C
735         help
736           This is a Video4Linux2 sensor driver for the Sony
737           IMX214 camera.
738
739           To compile this driver as a module, choose M here: the
740           module will be called imx214.
741
742 config VIDEO_IMX219
743         tristate "Sony IMX219 sensor support"
744         depends on I2C && VIDEO_V4L2
745         select MEDIA_CONTROLLER
746         select VIDEO_V4L2_SUBDEV_API
747         select V4L2_FWNODE
748         help
749           This is a Video4Linux2 sensor driver for the Sony
750           IMX219 camera.
751
752           To compile this driver as a module, choose M here: the
753           module will be called imx219.
754
755 config VIDEO_IMX258
756         tristate "Sony IMX258 sensor support"
757         depends on I2C && VIDEO_V4L2
758         select MEDIA_CONTROLLER
759         select VIDEO_V4L2_SUBDEV_API
760         help
761           This is a Video4Linux2 sensor driver for the Sony
762           IMX258 camera.
763
764           To compile this driver as a module, choose M here: the
765           module will be called imx258.
766
767 config VIDEO_IMX274
768         tristate "Sony IMX274 sensor support"
769         depends on I2C && VIDEO_V4L2
770         select MEDIA_CONTROLLER
771         select VIDEO_V4L2_SUBDEV_API
772         select REGMAP_I2C
773         help
774           This is a V4L2 sensor driver for the Sony IMX274
775           CMOS image sensor.
776
777 config VIDEO_IMX290
778         tristate "Sony IMX290 sensor support"
779         depends on I2C && VIDEO_V4L2
780         select MEDIA_CONTROLLER
781         select VIDEO_V4L2_SUBDEV_API
782         select REGMAP_I2C
783         select V4L2_FWNODE
784         help
785           This is a Video4Linux2 sensor driver for the Sony
786           IMX290 camera sensor.
787
788           To compile this driver as a module, choose M here: the
789           module will be called imx290.
790
791 config VIDEO_IMX319
792         tristate "Sony IMX319 sensor support"
793         depends on I2C && VIDEO_V4L2
794         select MEDIA_CONTROLLER
795         select VIDEO_V4L2_SUBDEV_API
796         help
797           This is a Video4Linux2 sensor driver for the Sony
798           IMX319 camera.
799
800           To compile this driver as a module, choose M here: the
801           module will be called imx319.
802
803 config VIDEO_IMX355
804         tristate "Sony IMX355 sensor support"
805         depends on I2C && VIDEO_V4L2
806         select MEDIA_CONTROLLER
807         select VIDEO_V4L2_SUBDEV_API
808         help
809           This is a Video4Linux2 sensor driver for the Sony
810           IMX355 camera.
811
812           To compile this driver as a module, choose M here: the
813           module will be called imx355.
814
815 config VIDEO_OV2640
816         tristate "OmniVision OV2640 sensor support"
817         depends on VIDEO_V4L2 && I2C
818         help
819           This is a Video4Linux2 sensor driver for the OmniVision
820           OV2640 camera.
821
822           To compile this driver as a module, choose M here: the
823           module will be called ov2640.
824
825 config VIDEO_OV2659
826         tristate "OmniVision OV2659 sensor support"
827         depends on VIDEO_V4L2 && I2C && GPIOLIB
828         select V4L2_FWNODE
829         help
830           This is a Video4Linux2 sensor driver for the OmniVision
831           OV2659 camera.
832
833           To compile this driver as a module, choose M here: the
834           module will be called ov2659.
835
836 config VIDEO_OV2680
837         tristate "OmniVision OV2680 sensor support"
838         depends on VIDEO_V4L2 && I2C
839         select MEDIA_CONTROLLER
840         select V4L2_FWNODE
841         help
842           This is a Video4Linux2 sensor driver for the OmniVision
843           OV2680 camera.
844
845           To compile this driver as a module, choose M here: the
846           module will be called ov2680.
847
848 config VIDEO_OV2685
849         tristate "OmniVision OV2685 sensor support"
850         depends on VIDEO_V4L2 && I2C
851         select MEDIA_CONTROLLER
852         select V4L2_FWNODE
853         help
854           This is a Video4Linux2 sensor driver for the OmniVision
855           OV2685 camera.
856
857           To compile this driver as a module, choose M here: the
858           module will be called ov2685.
859
860 config VIDEO_OV2740
861         tristate "OmniVision OV2740 sensor support"
862         depends on VIDEO_V4L2 && I2C
863         select MEDIA_CONTROLLER
864         select VIDEO_V4L2_SUBDEV_API
865         select V4L2_FWNODE
866         help
867           This is a Video4Linux2 sensor driver for the OmniVision
868           OV2740 camera.
869
870           To compile this driver as a module, choose M here: the
871           module will be called ov2740.
872
873 config VIDEO_OV5640
874         tristate "OmniVision OV5640 sensor support"
875         depends on OF
876         depends on GPIOLIB && VIDEO_V4L2 && I2C
877         select MEDIA_CONTROLLER
878         select VIDEO_V4L2_SUBDEV_API
879         select V4L2_FWNODE
880         help
881           This is a Video4Linux2 sensor driver for the Omnivision
882           OV5640 camera sensor with a MIPI CSI-2 interface.
883
884 config VIDEO_OV5645
885         tristate "OmniVision OV5645 sensor support"
886         depends on OF
887         depends on I2C && VIDEO_V4L2
888         select MEDIA_CONTROLLER
889         select VIDEO_V4L2_SUBDEV_API
890         select V4L2_FWNODE
891         help
892           This is a Video4Linux2 sensor driver for the OmniVision
893           OV5645 camera.
894
895           To compile this driver as a module, choose M here: the
896           module will be called ov5645.
897
898 config VIDEO_OV5647
899         tristate "OmniVision OV5647 sensor support"
900         depends on I2C && VIDEO_V4L2
901         select MEDIA_CONTROLLER
902         select VIDEO_V4L2_SUBDEV_API
903         select V4L2_FWNODE
904         help
905           This is a Video4Linux2 sensor driver for the OmniVision
906           OV5647 camera.
907
908           To compile this driver as a module, choose M here: the
909           module will be called ov5647.
910
911 config VIDEO_OV6650
912         tristate "OmniVision OV6650 sensor support"
913         depends on I2C && VIDEO_V4L2
914         help
915           This is a Video4Linux2 sensor driver for the OmniVision
916           OV6650 camera.
917
918           To compile this driver as a module, choose M here: the
919           module will be called ov6650.
920
921 config VIDEO_OV5670
922         tristate "OmniVision OV5670 sensor support"
923         depends on I2C && VIDEO_V4L2
924         select MEDIA_CONTROLLER
925         select VIDEO_V4L2_SUBDEV_API
926         select V4L2_FWNODE
927         help
928           This is a Video4Linux2 sensor driver for the OmniVision
929           OV5670 camera.
930
931           To compile this driver as a module, choose M here: the
932           module will be called ov5670.
933
934 config VIDEO_OV5675
935         tristate "OmniVision OV5675 sensor support"
936         depends on I2C && VIDEO_V4L2
937         select MEDIA_CONTROLLER
938         select VIDEO_V4L2_SUBDEV_API
939         select V4L2_FWNODE
940         help
941           This is a Video4Linux2 sensor driver for the OmniVision
942           OV5675 camera.
943
944           To compile this driver as a module, choose M here: the
945           module will be called ov5675.
946
947 config VIDEO_OV5695
948         tristate "OmniVision OV5695 sensor support"
949         depends on I2C && VIDEO_V4L2
950         select V4L2_FWNODE
951         help
952           This is a Video4Linux2 sensor driver for the OmniVision
953           OV5695 camera.
954
955           To compile this driver as a module, choose M here: the
956           module will be called ov5695.
957
958 config VIDEO_OV7251
959         tristate "OmniVision OV7251 sensor support"
960         depends on I2C && VIDEO_V4L2
961         select MEDIA_CONTROLLER
962         select VIDEO_V4L2_SUBDEV_API
963         select V4L2_FWNODE
964         help
965           This is a Video4Linux2 sensor driver for the OmniVision
966           OV7251 camera.
967
968           To compile this driver as a module, choose M here: the
969           module will be called ov7251.
970
971 config VIDEO_OV772X
972         tristate "OmniVision OV772x sensor support"
973         depends on I2C && VIDEO_V4L2
974         select REGMAP_SCCB
975         help
976           This is a Video4Linux2 sensor driver for the OmniVision
977           OV772x camera.
978
979           To compile this driver as a module, choose M here: the
980           module will be called ov772x.
981
982 config VIDEO_OV7640
983         tristate "OmniVision OV7640 sensor support"
984         depends on I2C && VIDEO_V4L2
985         help
986           This is a Video4Linux2 sensor driver for the OmniVision
987           OV7640 camera.
988
989           To compile this driver as a module, choose M here: the
990           module will be called ov7640.
991
992 config VIDEO_OV7670
993         tristate "OmniVision OV7670 sensor support"
994         depends on I2C && VIDEO_V4L2
995         select V4L2_FWNODE
996         help
997           This is a Video4Linux2 sensor driver for the OmniVision
998           OV7670 VGA camera.  It currently only works with the M88ALP01
999           controller.
1000
1001 config VIDEO_OV7740
1002         tristate "OmniVision OV7740 sensor support"
1003         depends on I2C && VIDEO_V4L2
1004         select REGMAP_I2C
1005         help
1006           This is a Video4Linux2 sensor driver for the OmniVision
1007           OV7740 VGA camera sensor.
1008
1009 config VIDEO_OV8856
1010         tristate "OmniVision OV8856 sensor support"
1011         depends on I2C && VIDEO_V4L2
1012         select MEDIA_CONTROLLER
1013         select VIDEO_V4L2_SUBDEV_API
1014         select V4L2_FWNODE
1015         help
1016           This is a Video4Linux2 sensor driver for the OmniVision
1017           OV8856 camera sensor.
1018
1019           To compile this driver as a module, choose M here: the
1020           module will be called ov8856.
1021
1022 config VIDEO_OV9640
1023         tristate "OmniVision OV9640 sensor support"
1024         depends on I2C && VIDEO_V4L2
1025         help
1026           This is a Video4Linux2 sensor driver for the OmniVision
1027           OV9640 camera sensor.
1028
1029 config VIDEO_OV9650
1030         tristate "OmniVision OV9650/OV9652 sensor support"
1031         depends on I2C && VIDEO_V4L2
1032         select MEDIA_CONTROLLER
1033         select VIDEO_V4L2_SUBDEV_API
1034         select REGMAP_SCCB
1035         help
1036           This is a V4L2 sensor driver for the Omnivision
1037           OV9650 and OV9652 camera sensors.
1038
1039 config VIDEO_OV13858
1040         tristate "OmniVision OV13858 sensor support"
1041         depends on I2C && VIDEO_V4L2
1042         select MEDIA_CONTROLLER
1043         select VIDEO_V4L2_SUBDEV_API
1044         select V4L2_FWNODE
1045         help
1046           This is a Video4Linux2 sensor driver for the OmniVision
1047           OV13858 camera.
1048
1049 config VIDEO_VS6624
1050         tristate "ST VS6624 sensor support"
1051         depends on VIDEO_V4L2 && I2C
1052         help
1053           This is a Video4Linux2 sensor driver for the ST VS6624
1054           camera.
1055
1056           To compile this driver as a module, choose M here: the
1057           module will be called vs6624.
1058
1059 config VIDEO_MT9M001
1060         tristate "mt9m001 support"
1061         depends on I2C && VIDEO_V4L2
1062         select MEDIA_CONTROLLER
1063         select VIDEO_V4L2_SUBDEV_API
1064         help
1065           This driver supports MT9M001 cameras from Micron, monochrome
1066           and colour models.
1067
1068 config VIDEO_MT9M032
1069         tristate "MT9M032 camera sensor support"
1070         depends on I2C && VIDEO_V4L2
1071         select MEDIA_CONTROLLER
1072         select VIDEO_V4L2_SUBDEV_API
1073         select VIDEO_APTINA_PLL
1074         help
1075           This driver supports MT9M032 camera sensors from Aptina, monochrome
1076           models only.
1077
1078 config VIDEO_MT9M111
1079         tristate "mt9m111, mt9m112 and mt9m131 support"
1080         depends on I2C && VIDEO_V4L2
1081         select V4L2_FWNODE
1082         help
1083           This driver supports MT9M111, MT9M112 and MT9M131 cameras from
1084           Micron/Aptina
1085
1086 config VIDEO_MT9P031
1087         tristate "Aptina MT9P031 support"
1088         depends on I2C && VIDEO_V4L2
1089         select MEDIA_CONTROLLER
1090         select VIDEO_V4L2_SUBDEV_API
1091         select VIDEO_APTINA_PLL
1092         help
1093           This is a Video4Linux2 sensor driver for the Aptina
1094           (Micron) mt9p031 5 Mpixel camera.
1095
1096 config VIDEO_MT9T001
1097         tristate "Aptina MT9T001 support"
1098         depends on I2C && VIDEO_V4L2
1099         select MEDIA_CONTROLLER
1100         select VIDEO_V4L2_SUBDEV_API
1101         help
1102           This is a Video4Linux2 sensor driver for the Aptina
1103           (Micron) mt0t001 3 Mpixel camera.
1104
1105 config VIDEO_MT9T112
1106         tristate "Aptina MT9T111/MT9T112 support"
1107         depends on I2C && VIDEO_V4L2
1108         help
1109           This is a Video4Linux2 sensor driver for the Aptina
1110           (Micron) MT9T111 and MT9T112 3 Mpixel camera.
1111
1112           To compile this driver as a module, choose M here: the
1113           module will be called mt9t112.
1114
1115 config VIDEO_MT9V011
1116         tristate "Micron mt9v011 sensor support"
1117         depends on I2C && VIDEO_V4L2
1118         help
1119           This is a Video4Linux2 sensor driver for the Micron
1120           mt0v011 1.3 Mpixel camera.  It currently only works with the
1121           em28xx driver.
1122
1123 config VIDEO_MT9V032
1124         tristate "Micron MT9V032 sensor support"
1125         depends on I2C && VIDEO_V4L2
1126         select MEDIA_CONTROLLER
1127         select VIDEO_V4L2_SUBDEV_API
1128         select REGMAP_I2C
1129         select V4L2_FWNODE
1130         help
1131           This is a Video4Linux2 sensor driver for the Micron
1132           MT9V032 752x480 CMOS sensor.
1133
1134 config VIDEO_MT9V111
1135         tristate "Aptina MT9V111 sensor support"
1136         depends on I2C && VIDEO_V4L2
1137         help
1138           This is a Video4Linux2 sensor driver for the Aptina/Micron
1139           MT9V111 sensor.
1140
1141           To compile this driver as a module, choose M here: the
1142           module will be called mt9v111.
1143
1144 config VIDEO_SR030PC30
1145         tristate "Siliconfile SR030PC30 sensor support"
1146         depends on I2C && VIDEO_V4L2
1147         help
1148           This driver supports SR030PC30 VGA camera from Siliconfile
1149
1150 config VIDEO_NOON010PC30
1151         tristate "Siliconfile NOON010PC30 sensor support"
1152         depends on I2C && VIDEO_V4L2
1153         select MEDIA_CONTROLLER
1154         select VIDEO_V4L2_SUBDEV_API
1155         help
1156           This driver supports NOON010PC30 CIF camera from Siliconfile
1157
1158 source "drivers/media/i2c/m5mols/Kconfig"
1159
1160 config VIDEO_RJ54N1
1161         tristate "Sharp RJ54N1CB0C sensor support"
1162         depends on I2C && VIDEO_V4L2
1163         help
1164           This is a V4L2 sensor driver for Sharp RJ54N1CB0C CMOS image
1165           sensor.
1166
1167           To compile this driver as a module, choose M here: the
1168           module will be called rj54n1.
1169
1170 config VIDEO_S5K6AA
1171         tristate "Samsung S5K6AAFX sensor support"
1172         depends on I2C && VIDEO_V4L2
1173         select MEDIA_CONTROLLER
1174         select VIDEO_V4L2_SUBDEV_API
1175         help
1176           This is a V4L2 sensor driver for Samsung S5K6AA(FX) 1.3M
1177           camera sensor with an embedded SoC image signal processor.
1178
1179 config VIDEO_S5K6A3
1180         tristate "Samsung S5K6A3 sensor support"
1181         depends on I2C && VIDEO_V4L2
1182         select MEDIA_CONTROLLER
1183         select VIDEO_V4L2_SUBDEV_API
1184         help
1185           This is a V4L2 sensor driver for Samsung S5K6A3 raw
1186           camera sensor.
1187
1188 config VIDEO_S5K4ECGX
1189         tristate "Samsung S5K4ECGX sensor support"
1190         depends on I2C && VIDEO_V4L2
1191         select MEDIA_CONTROLLER
1192         select VIDEO_V4L2_SUBDEV_API
1193         select CRC32
1194         help
1195           This is a V4L2 sensor driver for Samsung S5K4ECGX 5M
1196           camera sensor with an embedded SoC image signal processor.
1197
1198 config VIDEO_S5K5BAF
1199         tristate "Samsung S5K5BAF sensor support"
1200         depends on I2C && VIDEO_V4L2
1201         select MEDIA_CONTROLLER
1202         select VIDEO_V4L2_SUBDEV_API
1203         select V4L2_FWNODE
1204         help
1205           This is a V4L2 sensor driver for Samsung S5K5BAF 2M
1206           camera sensor with an embedded SoC image signal processor.
1207
1208 source "drivers/media/i2c/smiapp/Kconfig"
1209 source "drivers/media/i2c/et8ek8/Kconfig"
1210
1211 config VIDEO_S5C73M3
1212         tristate "Samsung S5C73M3 sensor support"
1213         depends on I2C && SPI && VIDEO_V4L2
1214         select MEDIA_CONTROLLER
1215         select VIDEO_V4L2_SUBDEV_API
1216         select V4L2_FWNODE
1217         help
1218           This is a V4L2 sensor driver for Samsung S5C73M3
1219           8 Mpixel camera.
1220
1221 endmenu
1222
1223 menu "Lens drivers"
1224         visible if MEDIA_CAMERA_SUPPORT
1225
1226 config VIDEO_AD5820
1227         tristate "AD5820 lens voice coil support"
1228         depends on GPIOLIB && I2C && VIDEO_V4L2
1229         select MEDIA_CONTROLLER
1230         help
1231           This is a driver for the AD5820 camera lens voice coil.
1232           It is used for example in Nokia N900 (RX-51).
1233
1234 config VIDEO_AK7375
1235         tristate "AK7375 lens voice coil support"
1236         depends on I2C && VIDEO_V4L2
1237         select MEDIA_CONTROLLER
1238         select VIDEO_V4L2_SUBDEV_API
1239         help
1240           This is a driver for the AK7375 camera lens voice coil.
1241           AK7375 is a 12 bit DAC with 120mA output current sink
1242           capability. This is designed for linear control of
1243           voice coil motors, controlled via I2C serial interface.
1244
1245 config VIDEO_DW9714
1246         tristate "DW9714 lens voice coil support"
1247         depends on I2C && VIDEO_V4L2
1248         select MEDIA_CONTROLLER
1249         select VIDEO_V4L2_SUBDEV_API
1250         help
1251           This is a driver for the DW9714 camera lens voice coil.
1252           DW9714 is a 10 bit DAC with 120mA output current sink
1253           capability. This is designed for linear control of
1254           voice coil motors, controlled via I2C serial interface.
1255
1256 config VIDEO_DW9807_VCM
1257         tristate "DW9807 lens voice coil support"
1258         depends on I2C && VIDEO_V4L2
1259         select MEDIA_CONTROLLER
1260         select VIDEO_V4L2_SUBDEV_API
1261         help
1262           This is a driver for the DW9807 camera lens voice coil.
1263           DW9807 is a 10 bit DAC with 100mA output current sink
1264           capability. This is designed for linear control of
1265           voice coil motors, controlled via I2C serial interface.
1266
1267 endmenu
1268
1269 menu "Flash devices"
1270         visible if MEDIA_CAMERA_SUPPORT
1271
1272 config VIDEO_ADP1653
1273         tristate "ADP1653 flash support"
1274         depends on I2C && VIDEO_V4L2
1275         select MEDIA_CONTROLLER
1276         help
1277           This is a driver for the ADP1653 flash controller. It is used for
1278           example in Nokia N900.
1279
1280 config VIDEO_LM3560
1281         tristate "LM3560 dual flash driver support"
1282         depends on I2C && VIDEO_V4L2
1283         select MEDIA_CONTROLLER
1284         select REGMAP_I2C
1285         help
1286           This is a driver for the lm3560 dual flash controllers. It controls
1287           flash, torch LEDs.
1288
1289 config VIDEO_LM3646
1290         tristate "LM3646 dual flash driver support"
1291         depends on I2C && VIDEO_V4L2
1292         select MEDIA_CONTROLLER
1293         select REGMAP_I2C
1294         help
1295           This is a driver for the lm3646 dual flash controllers. It controls
1296           flash, torch LEDs.
1297 endmenu
1298
1299 endif # VIDEO_V4L2