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