GNU Linux-libre 5.10.153-gnu1
[releases.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 config VIDEO_MAX9286
468         tristate "Maxim MAX9286 GMSL deserializer support"
469         depends on I2C && I2C_MUX
470         depends on OF_GPIO
471         select V4L2_FWNODE
472         select VIDEO_V4L2_SUBDEV_API
473         select MEDIA_CONTROLLER
474         help
475           This driver supports the Maxim MAX9286 GMSL deserializer.
476
477           To compile this driver as a module, choose M here: the
478           module will be called max9286.
479
480 comment "Video and audio decoders"
481
482 config VIDEO_SAA717X
483         tristate "Philips SAA7171/3/4 audio/video decoders"
484         depends on VIDEO_V4L2 && I2C
485         help
486           Support for the Philips SAA7171/3/4 audio/video decoders.
487
488           To compile this driver as a module, choose M here: the
489           module will be called saa717x.
490
491 source "drivers/media/i2c/cx25840/Kconfig"
492
493 endmenu
494
495 menu "Video encoders"
496         visible if !MEDIA_HIDE_ANCILLARY_SUBDRV
497
498 config VIDEO_SAA7127
499         tristate "Philips SAA7127/9 digital video encoders"
500         depends on VIDEO_V4L2 && I2C
501         help
502           Support for the Philips SAA7127/9 digital video encoders.
503
504           To compile this driver as a module, choose M here: the
505           module will be called saa7127.
506
507 config VIDEO_SAA7185
508         tristate "Philips SAA7185 video encoder"
509         depends on VIDEO_V4L2 && I2C
510         help
511           Support for the Philips SAA7185 video encoder.
512
513           To compile this driver as a module, choose M here: the
514           module will be called saa7185.
515
516 config VIDEO_ADV7170
517         tristate "Analog Devices ADV7170 video encoder"
518         depends on VIDEO_V4L2 && I2C
519         help
520           Support for the Analog Devices ADV7170 video encoder driver
521
522           To compile this driver as a module, choose M here: the
523           module will be called adv7170.
524
525 config VIDEO_ADV7175
526         tristate "Analog Devices ADV7175 video encoder"
527         depends on VIDEO_V4L2 && I2C
528         help
529           Support for the Analog Devices ADV7175 video encoder driver
530
531           To compile this driver as a module, choose M here: the
532           module will be called adv7175.
533
534 config VIDEO_ADV7343
535         tristate "ADV7343 video encoder"
536         depends on I2C
537         help
538           Support for Analog Devices I2C bus based ADV7343 encoder.
539
540           To compile this driver as a module, choose M here: the
541           module will be called adv7343.
542
543 config VIDEO_ADV7393
544         tristate "ADV7393 video encoder"
545         depends on I2C
546         help
547           Support for Analog Devices I2C bus based ADV7393 encoder.
548
549           To compile this driver as a module, choose M here: the
550           module will be called adv7393.
551
552 config VIDEO_ADV7511
553         tristate "Analog Devices ADV7511 encoder"
554         depends on VIDEO_V4L2 && I2C
555         depends on DRM_I2C_ADV7511=n || COMPILE_TEST
556         select MEDIA_CONTROLLER
557         select VIDEO_V4L2_SUBDEV_API
558         select HDMI
559         help
560           Support for the Analog Devices ADV7511 video encoder.
561
562           This is a Analog Devices HDMI transmitter.
563
564           To compile this driver as a module, choose M here: the
565           module will be called adv7511.
566
567 config VIDEO_ADV7511_CEC
568         bool "Enable Analog Devices ADV7511 CEC support"
569         depends on VIDEO_ADV7511
570         select CEC_CORE
571         help
572           When selected the adv7511 will support the optional
573           HDMI CEC feature.
574
575 config VIDEO_AD9389B
576         tristate "Analog Devices AD9389B encoder"
577         depends on VIDEO_V4L2 && I2C
578         select MEDIA_CONTROLLER
579         select VIDEO_V4L2_SUBDEV_API
580
581         help
582           Support for the Analog Devices AD9389B video encoder.
583
584           This is a Analog Devices HDMI transmitter.
585
586           To compile this driver as a module, choose M here: the
587           module will be called ad9389b.
588
589 config VIDEO_AK881X
590         tristate "AK8813/AK8814 video encoders"
591         depends on I2C
592         help
593           Video output driver for AKM AK8813 and AK8814 TV encoders
594
595 config VIDEO_THS8200
596         tristate "Texas Instruments THS8200 video encoder"
597         depends on VIDEO_V4L2 && I2C
598         help
599           Support for the Texas Instruments THS8200 video encoder.
600
601           To compile this driver as a module, choose M here: the
602           module will be called ths8200.
603 endmenu
604
605 menu "Video improvement chips"
606         visible if !MEDIA_HIDE_ANCILLARY_SUBDRV
607
608 config VIDEO_UPD64031A
609         tristate "NEC Electronics uPD64031A Ghost Reduction"
610         depends on VIDEO_V4L2 && I2C
611         help
612           Support for the NEC Electronics uPD64031A Ghost Reduction
613           video chip. It is most often found in NTSC TV cards made for
614           Japan and is used to reduce the 'ghosting' effect that can
615           be present in analog TV broadcasts.
616
617           To compile this driver as a module, choose M here: the
618           module will be called upd64031a.
619
620 config VIDEO_UPD64083
621         tristate "NEC Electronics uPD64083 3-Dimensional Y/C separation"
622         depends on VIDEO_V4L2 && I2C
623         help
624           Support for the NEC Electronics uPD64083 3-Dimensional Y/C
625           separation video chip. It is used to improve the quality of
626           the colors of a composite signal.
627
628           To compile this driver as a module, choose M here: the
629           module will be called upd64083.
630 endmenu
631
632 menu "Audio/Video compression chips"
633         visible if !MEDIA_HIDE_ANCILLARY_SUBDRV
634
635 config VIDEO_SAA6752HS
636         tristate "Philips SAA6752HS MPEG-2 Audio/Video Encoder"
637         depends on VIDEO_V4L2 && I2C
638         select CRC32
639         help
640           Support for the Philips SAA6752HS MPEG-2 video and MPEG-audio/AC-3
641           audio encoder with multiplexer.
642
643           To compile this driver as a module, choose M here: the
644           module will be called saa6752hs.
645
646 endmenu
647
648 menu "SDR tuner chips"
649         visible if !MEDIA_HIDE_ANCILLARY_SUBDRV
650
651 config SDR_MAX2175
652         tristate "Maxim 2175 RF to Bits tuner"
653         depends on VIDEO_V4L2 && MEDIA_SDR_SUPPORT && I2C
654         select REGMAP_I2C
655         help
656           Support for Maxim 2175 tuner. It is an advanced analog/digital
657           radio receiver with RF-to-Bits front-end designed for SDR solutions.
658
659           To compile this driver as a module, choose M here; the
660           module will be called max2175.
661
662
663 endmenu
664
665 menu "Miscellaneous helper chips"
666         visible if !MEDIA_HIDE_ANCILLARY_SUBDRV
667
668 config VIDEO_THS7303
669         tristate "THS7303/53 Video Amplifier"
670         depends on VIDEO_V4L2 && I2C
671         help
672           Support for TI THS7303/53 video amplifier
673
674           To compile this driver as a module, choose M here: the
675           module will be called ths7303.
676
677 config VIDEO_M52790
678         tristate "Mitsubishi M52790 A/V switch"
679         depends on VIDEO_V4L2 && I2C
680         help
681          Support for the Mitsubishi M52790 A/V switch.
682
683          To compile this driver as a module, choose M here: the
684          module will be called m52790.
685
686 config VIDEO_I2C
687         tristate "I2C transport video support"
688         depends on VIDEO_V4L2 && I2C
689         select VIDEOBUF2_VMALLOC
690         imply HWMON
691         help
692           Enable the I2C transport video support which supports the
693           following:
694            * Panasonic AMG88xx Grid-Eye Sensors
695            * Melexis MLX90640 Thermal Cameras
696
697           To compile this driver as a module, choose M here: the
698           module will be called video-i2c
699
700 config VIDEO_ST_MIPID02
701         tristate "STMicroelectronics MIPID02 CSI-2 to PARALLEL bridge"
702         depends on I2C && VIDEO_V4L2
703         select MEDIA_CONTROLLER
704         select VIDEO_V4L2_SUBDEV_API
705         select V4L2_FWNODE
706         help
707           Support for STMicroelectronics MIPID02 CSI-2 to PARALLEL bridge.
708           It is used to allow usage of CSI-2 sensor with PARALLEL port
709           controller.
710
711           To compile this driver as a module, choose M here: the
712           module will be called st-mipid02.
713 endmenu
714
715 #
716 # V4L2 I2C drivers that are related with Camera support
717 #
718
719 menu "Camera sensor devices"
720         visible if MEDIA_CAMERA_SUPPORT
721
722 config VIDEO_APTINA_PLL
723         tristate
724
725 config VIDEO_SMIAPP_PLL
726         tristate
727
728 config VIDEO_HI556
729         tristate "Hynix Hi-556 sensor support"
730         depends on I2C && VIDEO_V4L2
731         select MEDIA_CONTROLLER
732         select VIDEO_V4L2_SUBDEV_API
733         select V4L2_FWNODE
734         help
735           This is a Video4Linux2 sensor driver for the Hynix
736           Hi-556 camera.
737
738           To compile this driver as a module, choose M here: the
739           module will be called hi556.
740
741 config VIDEO_IMX214
742         tristate "Sony IMX214 sensor support"
743         depends on GPIOLIB && I2C && VIDEO_V4L2
744         select V4L2_FWNODE
745         select MEDIA_CONTROLLER
746         select VIDEO_V4L2_SUBDEV_API
747         select REGMAP_I2C
748         help
749           This is a Video4Linux2 sensor driver for the Sony
750           IMX214 camera.
751
752           To compile this driver as a module, choose M here: the
753           module will be called imx214.
754
755 config VIDEO_IMX219
756         tristate "Sony IMX219 sensor support"
757         depends on I2C && VIDEO_V4L2
758         select MEDIA_CONTROLLER
759         select VIDEO_V4L2_SUBDEV_API
760         select V4L2_FWNODE
761         help
762           This is a Video4Linux2 sensor driver for the Sony
763           IMX219 camera.
764
765           To compile this driver as a module, choose M here: the
766           module will be called imx219.
767
768 config VIDEO_IMX258
769         tristate "Sony IMX258 sensor support"
770         depends on I2C && VIDEO_V4L2
771         select MEDIA_CONTROLLER
772         select VIDEO_V4L2_SUBDEV_API
773         help
774           This is a Video4Linux2 sensor driver for the Sony
775           IMX258 camera.
776
777           To compile this driver as a module, choose M here: the
778           module will be called imx258.
779
780 config VIDEO_IMX274
781         tristate "Sony IMX274 sensor support"
782         depends on I2C && VIDEO_V4L2
783         select MEDIA_CONTROLLER
784         select VIDEO_V4L2_SUBDEV_API
785         select REGMAP_I2C
786         help
787           This is a V4L2 sensor driver for the Sony IMX274
788           CMOS image sensor.
789
790 config VIDEO_IMX290
791         tristate "Sony IMX290 sensor support"
792         depends on I2C && VIDEO_V4L2
793         select MEDIA_CONTROLLER
794         select VIDEO_V4L2_SUBDEV_API
795         select REGMAP_I2C
796         select V4L2_FWNODE
797         help
798           This is a Video4Linux2 sensor driver for the Sony
799           IMX290 camera sensor.
800
801           To compile this driver as a module, choose M here: the
802           module will be called imx290.
803
804 config VIDEO_IMX319
805         tristate "Sony IMX319 sensor support"
806         depends on I2C && VIDEO_V4L2
807         select MEDIA_CONTROLLER
808         select VIDEO_V4L2_SUBDEV_API
809         help
810           This is a Video4Linux2 sensor driver for the Sony
811           IMX319 camera.
812
813           To compile this driver as a module, choose M here: the
814           module will be called imx319.
815
816 config VIDEO_IMX355
817         tristate "Sony IMX355 sensor support"
818         depends on I2C && VIDEO_V4L2
819         select MEDIA_CONTROLLER
820         select VIDEO_V4L2_SUBDEV_API
821         help
822           This is a Video4Linux2 sensor driver for the Sony
823           IMX355 camera.
824
825           To compile this driver as a module, choose M here: the
826           module will be called imx355.
827
828 config VIDEO_OV2640
829         tristate "OmniVision OV2640 sensor support"
830         depends on VIDEO_V4L2 && I2C
831         help
832           This is a Video4Linux2 sensor driver for the OmniVision
833           OV2640 camera.
834
835           To compile this driver as a module, choose M here: the
836           module will be called ov2640.
837
838 config VIDEO_OV2659
839         tristate "OmniVision OV2659 sensor support"
840         depends on VIDEO_V4L2 && I2C && GPIOLIB
841         select V4L2_FWNODE
842         help
843           This is a Video4Linux2 sensor driver for the OmniVision
844           OV2659 camera.
845
846           To compile this driver as a module, choose M here: the
847           module will be called ov2659.
848
849 config VIDEO_OV2680
850         tristate "OmniVision OV2680 sensor support"
851         depends on VIDEO_V4L2 && I2C
852         select MEDIA_CONTROLLER
853         select V4L2_FWNODE
854         help
855           This is a Video4Linux2 sensor driver for the OmniVision
856           OV2680 camera.
857
858           To compile this driver as a module, choose M here: the
859           module will be called ov2680.
860
861 config VIDEO_OV2685
862         tristate "OmniVision OV2685 sensor support"
863         depends on VIDEO_V4L2 && I2C
864         select MEDIA_CONTROLLER
865         select V4L2_FWNODE
866         help
867           This is a Video4Linux2 sensor driver for the OmniVision
868           OV2685 camera.
869
870           To compile this driver as a module, choose M here: the
871           module will be called ov2685.
872
873 config VIDEO_OV2740
874         tristate "OmniVision OV2740 sensor support"
875         depends on VIDEO_V4L2 && I2C
876         depends on ACPI || COMPILE_TEST
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           OV2740 camera.
883
884           To compile this driver as a module, choose M here: the
885           module will be called ov2740.
886
887 config VIDEO_OV5640
888         tristate "OmniVision OV5640 sensor support"
889         depends on OF
890         depends on GPIOLIB && VIDEO_V4L2 && I2C
891         select MEDIA_CONTROLLER
892         select VIDEO_V4L2_SUBDEV_API
893         select V4L2_FWNODE
894         help
895           This is a Video4Linux2 sensor driver for the Omnivision
896           OV5640 camera sensor with a MIPI CSI-2 interface.
897
898 config VIDEO_OV5645
899         tristate "OmniVision OV5645 sensor support"
900         depends on OF
901         depends on I2C && VIDEO_V4L2
902         select MEDIA_CONTROLLER
903         select VIDEO_V4L2_SUBDEV_API
904         select V4L2_FWNODE
905         help
906           This is a Video4Linux2 sensor driver for the OmniVision
907           OV5645 camera.
908
909           To compile this driver as a module, choose M here: the
910           module will be called ov5645.
911
912 config VIDEO_OV5647
913         tristate "OmniVision OV5647 sensor support"
914         depends on I2C && VIDEO_V4L2
915         select MEDIA_CONTROLLER
916         select VIDEO_V4L2_SUBDEV_API
917         select V4L2_FWNODE
918         help
919           This is a Video4Linux2 sensor driver for the OmniVision
920           OV5647 camera.
921
922           To compile this driver as a module, choose M here: the
923           module will be called ov5647.
924
925 config VIDEO_OV6650
926         tristate "OmniVision OV6650 sensor support"
927         depends on I2C && VIDEO_V4L2
928         help
929           This is a Video4Linux2 sensor driver for the OmniVision
930           OV6650 camera.
931
932           To compile this driver as a module, choose M here: the
933           module will be called ov6650.
934
935 config VIDEO_OV5670
936         tristate "OmniVision OV5670 sensor support"
937         depends on I2C && VIDEO_V4L2
938         select MEDIA_CONTROLLER
939         select VIDEO_V4L2_SUBDEV_API
940         select V4L2_FWNODE
941         help
942           This is a Video4Linux2 sensor driver for the OmniVision
943           OV5670 camera.
944
945           To compile this driver as a module, choose M here: the
946           module will be called ov5670.
947
948 config VIDEO_OV5675
949         tristate "OmniVision OV5675 sensor support"
950         depends on I2C && VIDEO_V4L2
951         select MEDIA_CONTROLLER
952         select VIDEO_V4L2_SUBDEV_API
953         select V4L2_FWNODE
954         help
955           This is a Video4Linux2 sensor driver for the OmniVision
956           OV5675 camera.
957
958           To compile this driver as a module, choose M here: the
959           module will be called ov5675.
960
961 config VIDEO_OV5695
962         tristate "OmniVision OV5695 sensor support"
963         depends on I2C && VIDEO_V4L2
964         select V4L2_FWNODE
965         help
966           This is a Video4Linux2 sensor driver for the OmniVision
967           OV5695 camera.
968
969           To compile this driver as a module, choose M here: the
970           module will be called ov5695.
971
972 config VIDEO_OV7251
973         tristate "OmniVision OV7251 sensor support"
974         depends on I2C && VIDEO_V4L2
975         select MEDIA_CONTROLLER
976         select VIDEO_V4L2_SUBDEV_API
977         select V4L2_FWNODE
978         help
979           This is a Video4Linux2 sensor driver for the OmniVision
980           OV7251 camera.
981
982           To compile this driver as a module, choose M here: the
983           module will be called ov7251.
984
985 config VIDEO_OV772X
986         tristate "OmniVision OV772x sensor support"
987         depends on I2C && VIDEO_V4L2
988         select REGMAP_SCCB
989         help
990           This is a Video4Linux2 sensor driver for the OmniVision
991           OV772x camera.
992
993           To compile this driver as a module, choose M here: the
994           module will be called ov772x.
995
996 config VIDEO_OV7640
997         tristate "OmniVision OV7640 sensor support"
998         depends on I2C && VIDEO_V4L2
999         help
1000           This is a Video4Linux2 sensor driver for the OmniVision
1001           OV7640 camera.
1002
1003           To compile this driver as a module, choose M here: the
1004           module will be called ov7640.
1005
1006 config VIDEO_OV7670
1007         tristate "OmniVision OV7670 sensor support"
1008         depends on I2C && VIDEO_V4L2
1009         select V4L2_FWNODE
1010         help
1011           This is a Video4Linux2 sensor driver for the OmniVision
1012           OV7670 VGA camera.  It currently only works with the M88ALP01
1013           controller.
1014
1015 config VIDEO_OV7740
1016         tristate "OmniVision OV7740 sensor support"
1017         depends on I2C && VIDEO_V4L2
1018         select REGMAP_SCCB
1019         help
1020           This is a Video4Linux2 sensor driver for the OmniVision
1021           OV7740 VGA camera sensor.
1022
1023 config VIDEO_OV8856
1024         tristate "OmniVision OV8856 sensor support"
1025         depends on I2C && VIDEO_V4L2
1026         select MEDIA_CONTROLLER
1027         select VIDEO_V4L2_SUBDEV_API
1028         select V4L2_FWNODE
1029         help
1030           This is a Video4Linux2 sensor driver for the OmniVision
1031           OV8856 camera sensor.
1032
1033           To compile this driver as a module, choose M here: the
1034           module will be called ov8856.
1035
1036 config VIDEO_OV9640
1037         tristate "OmniVision OV9640 sensor support"
1038         depends on I2C && VIDEO_V4L2
1039         help
1040           This is a Video4Linux2 sensor driver for the OmniVision
1041           OV9640 camera sensor.
1042
1043 config VIDEO_OV9650
1044         tristate "OmniVision OV9650/OV9652 sensor support"
1045         depends on I2C && VIDEO_V4L2
1046         select MEDIA_CONTROLLER
1047         select VIDEO_V4L2_SUBDEV_API
1048         select REGMAP_SCCB
1049         help
1050           This is a V4L2 sensor driver for the Omnivision
1051           OV9650 and OV9652 camera sensors.
1052
1053 config VIDEO_OV13858
1054         tristate "OmniVision OV13858 sensor support"
1055         depends on I2C && VIDEO_V4L2
1056         select MEDIA_CONTROLLER
1057         select VIDEO_V4L2_SUBDEV_API
1058         select V4L2_FWNODE
1059         help
1060           This is a Video4Linux2 sensor driver for the OmniVision
1061           OV13858 camera.
1062
1063 config VIDEO_VS6624
1064         tristate "ST VS6624 sensor support"
1065         depends on VIDEO_V4L2 && I2C
1066         help
1067           This is a Video4Linux2 sensor driver for the ST VS6624
1068           camera.
1069
1070           To compile this driver as a module, choose M here: the
1071           module will be called vs6624.
1072
1073 config VIDEO_MT9M001
1074         tristate "mt9m001 support"
1075         depends on I2C && VIDEO_V4L2
1076         select MEDIA_CONTROLLER
1077         select VIDEO_V4L2_SUBDEV_API
1078         help
1079           This driver supports MT9M001 cameras from Micron, monochrome
1080           and colour models.
1081
1082 config VIDEO_MT9M032
1083         tristate "MT9M032 camera sensor support"
1084         depends on I2C && VIDEO_V4L2
1085         select MEDIA_CONTROLLER
1086         select VIDEO_V4L2_SUBDEV_API
1087         select VIDEO_APTINA_PLL
1088         help
1089           This driver supports MT9M032 camera sensors from Aptina, monochrome
1090           models only.
1091
1092 config VIDEO_MT9M111
1093         tristate "mt9m111, mt9m112 and mt9m131 support"
1094         depends on I2C && VIDEO_V4L2
1095         select V4L2_FWNODE
1096         help
1097           This driver supports MT9M111, MT9M112 and MT9M131 cameras from
1098           Micron/Aptina
1099
1100 config VIDEO_MT9P031
1101         tristate "Aptina MT9P031 support"
1102         depends on I2C && VIDEO_V4L2
1103         select MEDIA_CONTROLLER
1104         select VIDEO_V4L2_SUBDEV_API
1105         select VIDEO_APTINA_PLL
1106         help
1107           This is a Video4Linux2 sensor driver for the Aptina
1108           (Micron) mt9p031 5 Mpixel camera.
1109
1110 config VIDEO_MT9T001
1111         tristate "Aptina MT9T001 support"
1112         depends on I2C && VIDEO_V4L2
1113         select MEDIA_CONTROLLER
1114         select VIDEO_V4L2_SUBDEV_API
1115         help
1116           This is a Video4Linux2 sensor driver for the Aptina
1117           (Micron) mt0t001 3 Mpixel camera.
1118
1119 config VIDEO_MT9T112
1120         tristate "Aptina MT9T111/MT9T112 support"
1121         depends on I2C && VIDEO_V4L2
1122         help
1123           This is a Video4Linux2 sensor driver for the Aptina
1124           (Micron) MT9T111 and MT9T112 3 Mpixel camera.
1125
1126           To compile this driver as a module, choose M here: the
1127           module will be called mt9t112.
1128
1129 config VIDEO_MT9V011
1130         tristate "Micron mt9v011 sensor support"
1131         depends on I2C && VIDEO_V4L2
1132         help
1133           This is a Video4Linux2 sensor driver for the Micron
1134           mt0v011 1.3 Mpixel camera.  It currently only works with the
1135           em28xx driver.
1136
1137 config VIDEO_MT9V032
1138         tristate "Micron MT9V032 sensor support"
1139         depends on I2C && VIDEO_V4L2
1140         select MEDIA_CONTROLLER
1141         select VIDEO_V4L2_SUBDEV_API
1142         select REGMAP_I2C
1143         select V4L2_FWNODE
1144         help
1145           This is a Video4Linux2 sensor driver for the Micron
1146           MT9V032 752x480 CMOS sensor.
1147
1148 config VIDEO_MT9V111
1149         tristate "Aptina MT9V111 sensor support"
1150         depends on I2C && VIDEO_V4L2
1151         help
1152           This is a Video4Linux2 sensor driver for the Aptina/Micron
1153           MT9V111 sensor.
1154
1155           To compile this driver as a module, choose M here: the
1156           module will be called mt9v111.
1157
1158 config VIDEO_SR030PC30
1159         tristate "Siliconfile SR030PC30 sensor support"
1160         depends on I2C && VIDEO_V4L2
1161         help
1162           This driver supports SR030PC30 VGA camera from Siliconfile
1163
1164 config VIDEO_NOON010PC30
1165         tristate "Siliconfile NOON010PC30 sensor support"
1166         depends on I2C && VIDEO_V4L2
1167         select MEDIA_CONTROLLER
1168         select VIDEO_V4L2_SUBDEV_API
1169         help
1170           This driver supports NOON010PC30 CIF camera from Siliconfile
1171
1172 source "drivers/media/i2c/m5mols/Kconfig"
1173
1174 config VIDEO_RDACM20
1175         tristate "IMI RDACM20 camera support"
1176         depends on I2C
1177         select V4L2_FWNODE
1178         select VIDEO_V4L2_SUBDEV_API
1179         select MEDIA_CONTROLLER
1180         help
1181           This driver supports the IMI RDACM20 GMSL camera, used in
1182           ADAS systems.
1183
1184           This camera should be used in conjunction with a GMSL
1185           deserialiser such as the MAX9286.
1186
1187 config VIDEO_RJ54N1
1188         tristate "Sharp RJ54N1CB0C sensor support"
1189         depends on I2C && VIDEO_V4L2
1190         help
1191           This is a V4L2 sensor driver for Sharp RJ54N1CB0C CMOS image
1192           sensor.
1193
1194           To compile this driver as a module, choose M here: the
1195           module will be called rj54n1.
1196
1197 config VIDEO_S5K6AA
1198         tristate "Samsung S5K6AAFX sensor support"
1199         depends on I2C && VIDEO_V4L2
1200         select MEDIA_CONTROLLER
1201         select VIDEO_V4L2_SUBDEV_API
1202         help
1203           This is a V4L2 sensor driver for Samsung S5K6AA(FX) 1.3M
1204           camera sensor with an embedded SoC image signal processor.
1205
1206 config VIDEO_S5K6A3
1207         tristate "Samsung S5K6A3 sensor support"
1208         depends on I2C && VIDEO_V4L2
1209         select MEDIA_CONTROLLER
1210         select VIDEO_V4L2_SUBDEV_API
1211         help
1212           This is a V4L2 sensor driver for Samsung S5K6A3 raw
1213           camera sensor.
1214
1215 config VIDEO_S5K4ECGX
1216         tristate "Samsung S5K4ECGX sensor support"
1217         depends on I2C && VIDEO_V4L2
1218         select MEDIA_CONTROLLER
1219         select VIDEO_V4L2_SUBDEV_API
1220         select CRC32
1221         help
1222           This is a V4L2 sensor driver for Samsung S5K4ECGX 5M
1223           camera sensor with an embedded SoC image signal processor.
1224
1225 config VIDEO_S5K5BAF
1226         tristate "Samsung S5K5BAF sensor support"
1227         depends on I2C && VIDEO_V4L2
1228         select MEDIA_CONTROLLER
1229         select VIDEO_V4L2_SUBDEV_API
1230         select V4L2_FWNODE
1231         help
1232           This is a V4L2 sensor driver for Samsung S5K5BAF 2M
1233           camera sensor with an embedded SoC image signal processor.
1234
1235 source "drivers/media/i2c/smiapp/Kconfig"
1236 source "drivers/media/i2c/et8ek8/Kconfig"
1237
1238 config VIDEO_S5C73M3
1239         tristate "Samsung S5C73M3 sensor support"
1240         depends on I2C && SPI && VIDEO_V4L2
1241         select MEDIA_CONTROLLER
1242         select VIDEO_V4L2_SUBDEV_API
1243         select V4L2_FWNODE
1244         help
1245           This is a V4L2 sensor driver for Samsung S5C73M3
1246           8 Mpixel camera.
1247
1248 endmenu
1249
1250 menu "Lens drivers"
1251         visible if MEDIA_CAMERA_SUPPORT
1252
1253 config VIDEO_AD5820
1254         tristate "AD5820 lens voice coil support"
1255         depends on GPIOLIB && I2C && VIDEO_V4L2
1256         select MEDIA_CONTROLLER
1257         help
1258           This is a driver for the AD5820 camera lens voice coil.
1259           It is used for example in Nokia N900 (RX-51).
1260
1261 config VIDEO_AK7375
1262         tristate "AK7375 lens voice coil support"
1263         depends on I2C && VIDEO_V4L2
1264         select MEDIA_CONTROLLER
1265         select VIDEO_V4L2_SUBDEV_API
1266         help
1267           This is a driver for the AK7375 camera lens voice coil.
1268           AK7375 is a 12 bit DAC with 120mA output current sink
1269           capability. This is designed for linear control of
1270           voice coil motors, controlled via I2C serial interface.
1271
1272 config VIDEO_DW9714
1273         tristate "DW9714 lens voice coil support"
1274         depends on I2C && VIDEO_V4L2
1275         select MEDIA_CONTROLLER
1276         select VIDEO_V4L2_SUBDEV_API
1277         help
1278           This is a driver for the DW9714 camera lens voice coil.
1279           DW9714 is a 10 bit DAC with 120mA output current sink
1280           capability. This is designed for linear control of
1281           voice coil motors, controlled via I2C serial interface.
1282
1283 config VIDEO_DW9768
1284         tristate "DW9768 lens voice coil support"
1285         depends on I2C && VIDEO_V4L2
1286         select MEDIA_CONTROLLER
1287         select VIDEO_V4L2_SUBDEV_API
1288         select V4L2_FWNODE
1289         help
1290           This is a driver for the DW9768 camera lens voice coil.
1291           DW9768 is a 10 bit DAC with 100mA output current sink
1292           capability. This is designed for linear control of
1293           voice coil motors, controlled via I2C serial interface.
1294
1295 config VIDEO_DW9807_VCM
1296         tristate "DW9807 lens voice coil support"
1297         depends on I2C && VIDEO_V4L2
1298         select MEDIA_CONTROLLER
1299         select VIDEO_V4L2_SUBDEV_API
1300         help
1301           This is a driver for the DW9807 camera lens voice coil.
1302           DW9807 is a 10 bit DAC with 100mA output current sink
1303           capability. This is designed for linear control of
1304           voice coil motors, controlled via I2C serial interface.
1305
1306 endmenu
1307
1308 menu "Flash devices"
1309         visible if MEDIA_CAMERA_SUPPORT
1310
1311 config VIDEO_ADP1653
1312         tristate "ADP1653 flash support"
1313         depends on I2C && VIDEO_V4L2
1314         select MEDIA_CONTROLLER
1315         help
1316           This is a driver for the ADP1653 flash controller. It is used for
1317           example in Nokia N900.
1318
1319 config VIDEO_LM3560
1320         tristate "LM3560 dual flash driver support"
1321         depends on I2C && VIDEO_V4L2
1322         select MEDIA_CONTROLLER
1323         select REGMAP_I2C
1324         help
1325           This is a driver for the lm3560 dual flash controllers. It controls
1326           flash, torch LEDs.
1327
1328 config VIDEO_LM3646
1329         tristate "LM3646 dual flash driver support"
1330         depends on I2C && VIDEO_V4L2
1331         select MEDIA_CONTROLLER
1332         select REGMAP_I2C
1333         help
1334           This is a driver for the lm3646 dual flash controllers. It controls
1335           flash, torch LEDs.
1336 endmenu
1337
1338 endif # VIDEO_V4L2