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