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