xref: /openbmc/linux/drivers/media/i2c/Kconfig (revision 14474950)
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	select MEDIA_CONTROLLER
864	select VIDEO_V4L2_SUBDEV_API
865	select V4L2_FWNODE
866	help
867	  This is a Video4Linux2 sensor driver for the OmniVision
868	  OV2740 camera.
869
870	  To compile this driver as a module, choose M here: the
871	  module will be called ov2740.
872
873config VIDEO_OV5640
874	tristate "OmniVision OV5640 sensor support"
875	depends on OF
876	depends on GPIOLIB && VIDEO_V4L2 && I2C
877	select MEDIA_CONTROLLER
878	select VIDEO_V4L2_SUBDEV_API
879	select V4L2_FWNODE
880	help
881	  This is a Video4Linux2 sensor driver for the Omnivision
882	  OV5640 camera sensor with a MIPI CSI-2 interface.
883
884config VIDEO_OV5645
885	tristate "OmniVision OV5645 sensor support"
886	depends on OF
887	depends on I2C && VIDEO_V4L2
888	select MEDIA_CONTROLLER
889	select VIDEO_V4L2_SUBDEV_API
890	select V4L2_FWNODE
891	help
892	  This is a Video4Linux2 sensor driver for the OmniVision
893	  OV5645 camera.
894
895	  To compile this driver as a module, choose M here: the
896	  module will be called ov5645.
897
898config VIDEO_OV5647
899	tristate "OmniVision OV5647 sensor support"
900	depends on I2C && VIDEO_V4L2
901	select MEDIA_CONTROLLER
902	select VIDEO_V4L2_SUBDEV_API
903	select V4L2_FWNODE
904	help
905	  This is a Video4Linux2 sensor driver for the OmniVision
906	  OV5647 camera.
907
908	  To compile this driver as a module, choose M here: the
909	  module will be called ov5647.
910
911config VIDEO_OV6650
912	tristate "OmniVision OV6650 sensor support"
913	depends on I2C && VIDEO_V4L2
914	help
915	  This is a Video4Linux2 sensor driver for the OmniVision
916	  OV6650 camera.
917
918	  To compile this driver as a module, choose M here: the
919	  module will be called ov6650.
920
921config VIDEO_OV5670
922	tristate "OmniVision OV5670 sensor support"
923	depends on I2C && VIDEO_V4L2
924	select MEDIA_CONTROLLER
925	select VIDEO_V4L2_SUBDEV_API
926	select V4L2_FWNODE
927	help
928	  This is a Video4Linux2 sensor driver for the OmniVision
929	  OV5670 camera.
930
931	  To compile this driver as a module, choose M here: the
932	  module will be called ov5670.
933
934config VIDEO_OV5675
935	tristate "OmniVision OV5675 sensor support"
936	depends on I2C && VIDEO_V4L2
937	select MEDIA_CONTROLLER
938	select VIDEO_V4L2_SUBDEV_API
939	select V4L2_FWNODE
940	help
941	  This is a Video4Linux2 sensor driver for the OmniVision
942	  OV5675 camera.
943
944	  To compile this driver as a module, choose M here: the
945	  module will be called ov5675.
946
947config VIDEO_OV5695
948	tristate "OmniVision OV5695 sensor support"
949	depends on I2C && VIDEO_V4L2
950	select V4L2_FWNODE
951	help
952	  This is a Video4Linux2 sensor driver for the OmniVision
953	  OV5695 camera.
954
955	  To compile this driver as a module, choose M here: the
956	  module will be called ov5695.
957
958config VIDEO_OV7251
959	tristate "OmniVision OV7251 sensor support"
960	depends on I2C && VIDEO_V4L2
961	select MEDIA_CONTROLLER
962	select VIDEO_V4L2_SUBDEV_API
963	select V4L2_FWNODE
964	help
965	  This is a Video4Linux2 sensor driver for the OmniVision
966	  OV7251 camera.
967
968	  To compile this driver as a module, choose M here: the
969	  module will be called ov7251.
970
971config VIDEO_OV772X
972	tristate "OmniVision OV772x sensor support"
973	depends on I2C && VIDEO_V4L2
974	select REGMAP_SCCB
975	help
976	  This is a Video4Linux2 sensor driver for the OmniVision
977	  OV772x camera.
978
979	  To compile this driver as a module, choose M here: the
980	  module will be called ov772x.
981
982config VIDEO_OV7640
983	tristate "OmniVision OV7640 sensor support"
984	depends on I2C && VIDEO_V4L2
985	help
986	  This is a Video4Linux2 sensor driver for the OmniVision
987	  OV7640 camera.
988
989	  To compile this driver as a module, choose M here: the
990	  module will be called ov7640.
991
992config VIDEO_OV7670
993	tristate "OmniVision OV7670 sensor support"
994	depends on I2C && VIDEO_V4L2
995	select V4L2_FWNODE
996	help
997	  This is a Video4Linux2 sensor driver for the OmniVision
998	  OV7670 VGA camera.  It currently only works with the M88ALP01
999	  controller.
1000
1001config VIDEO_OV7740
1002	tristate "OmniVision OV7740 sensor support"
1003	depends on I2C && VIDEO_V4L2
1004	select REGMAP_I2C
1005	help
1006	  This is a Video4Linux2 sensor driver for the OmniVision
1007	  OV7740 VGA camera sensor.
1008
1009config VIDEO_OV8856
1010	tristate "OmniVision OV8856 sensor support"
1011	depends on I2C && VIDEO_V4L2
1012	select MEDIA_CONTROLLER
1013	select VIDEO_V4L2_SUBDEV_API
1014	select V4L2_FWNODE
1015	help
1016	  This is a Video4Linux2 sensor driver for the OmniVision
1017	  OV8856 camera sensor.
1018
1019	  To compile this driver as a module, choose M here: the
1020	  module will be called ov8856.
1021
1022config VIDEO_OV9640
1023	tristate "OmniVision OV9640 sensor support"
1024	depends on I2C && VIDEO_V4L2
1025	help
1026	  This is a Video4Linux2 sensor driver for the OmniVision
1027	  OV9640 camera sensor.
1028
1029config VIDEO_OV9650
1030	tristate "OmniVision OV9650/OV9652 sensor support"
1031	depends on I2C && VIDEO_V4L2
1032	select MEDIA_CONTROLLER
1033	select VIDEO_V4L2_SUBDEV_API
1034	select REGMAP_SCCB
1035	help
1036	  This is a V4L2 sensor driver for the Omnivision
1037	  OV9650 and OV9652 camera sensors.
1038
1039config VIDEO_OV13858
1040	tristate "OmniVision OV13858 sensor support"
1041	depends on I2C && VIDEO_V4L2
1042	select MEDIA_CONTROLLER
1043	select VIDEO_V4L2_SUBDEV_API
1044	select V4L2_FWNODE
1045	help
1046	  This is a Video4Linux2 sensor driver for the OmniVision
1047	  OV13858 camera.
1048
1049config VIDEO_VS6624
1050	tristate "ST VS6624 sensor support"
1051	depends on VIDEO_V4L2 && I2C
1052	help
1053	  This is a Video4Linux2 sensor driver for the ST VS6624
1054	  camera.
1055
1056	  To compile this driver as a module, choose M here: the
1057	  module will be called vs6624.
1058
1059config VIDEO_MT9M001
1060	tristate "mt9m001 support"
1061	depends on I2C && VIDEO_V4L2
1062	select MEDIA_CONTROLLER
1063	select VIDEO_V4L2_SUBDEV_API
1064	help
1065	  This driver supports MT9M001 cameras from Micron, monochrome
1066	  and colour models.
1067
1068config VIDEO_MT9M032
1069	tristate "MT9M032 camera sensor support"
1070	depends on I2C && VIDEO_V4L2
1071	select MEDIA_CONTROLLER
1072	select VIDEO_V4L2_SUBDEV_API
1073	select VIDEO_APTINA_PLL
1074	help
1075	  This driver supports MT9M032 camera sensors from Aptina, monochrome
1076	  models only.
1077
1078config VIDEO_MT9M111
1079	tristate "mt9m111, mt9m112 and mt9m131 support"
1080	depends on I2C && VIDEO_V4L2
1081	select V4L2_FWNODE
1082	help
1083	  This driver supports MT9M111, MT9M112 and MT9M131 cameras from
1084	  Micron/Aptina
1085
1086config VIDEO_MT9P031
1087	tristate "Aptina MT9P031 support"
1088	depends on I2C && VIDEO_V4L2
1089	select MEDIA_CONTROLLER
1090	select VIDEO_V4L2_SUBDEV_API
1091	select VIDEO_APTINA_PLL
1092	help
1093	  This is a Video4Linux2 sensor driver for the Aptina
1094	  (Micron) mt9p031 5 Mpixel camera.
1095
1096config VIDEO_MT9T001
1097	tristate "Aptina MT9T001 support"
1098	depends on I2C && VIDEO_V4L2
1099	select MEDIA_CONTROLLER
1100	select VIDEO_V4L2_SUBDEV_API
1101	help
1102	  This is a Video4Linux2 sensor driver for the Aptina
1103	  (Micron) mt0t001 3 Mpixel camera.
1104
1105config VIDEO_MT9T112
1106	tristate "Aptina MT9T111/MT9T112 support"
1107	depends on I2C && VIDEO_V4L2
1108	help
1109	  This is a Video4Linux2 sensor driver for the Aptina
1110	  (Micron) MT9T111 and MT9T112 3 Mpixel camera.
1111
1112	  To compile this driver as a module, choose M here: the
1113	  module will be called mt9t112.
1114
1115config VIDEO_MT9V011
1116	tristate "Micron mt9v011 sensor support"
1117	depends on I2C && VIDEO_V4L2
1118	help
1119	  This is a Video4Linux2 sensor driver for the Micron
1120	  mt0v011 1.3 Mpixel camera.  It currently only works with the
1121	  em28xx driver.
1122
1123config VIDEO_MT9V032
1124	tristate "Micron MT9V032 sensor support"
1125	depends on I2C && VIDEO_V4L2
1126	select MEDIA_CONTROLLER
1127	select VIDEO_V4L2_SUBDEV_API
1128	select REGMAP_I2C
1129	select V4L2_FWNODE
1130	help
1131	  This is a Video4Linux2 sensor driver for the Micron
1132	  MT9V032 752x480 CMOS sensor.
1133
1134config VIDEO_MT9V111
1135	tristate "Aptina MT9V111 sensor support"
1136	depends on I2C && VIDEO_V4L2
1137	help
1138	  This is a Video4Linux2 sensor driver for the Aptina/Micron
1139	  MT9V111 sensor.
1140
1141	  To compile this driver as a module, choose M here: the
1142	  module will be called mt9v111.
1143
1144config VIDEO_SR030PC30
1145	tristate "Siliconfile SR030PC30 sensor support"
1146	depends on I2C && VIDEO_V4L2
1147	help
1148	  This driver supports SR030PC30 VGA camera from Siliconfile
1149
1150config VIDEO_NOON010PC30
1151	tristate "Siliconfile NOON010PC30 sensor support"
1152	depends on I2C && VIDEO_V4L2
1153	select MEDIA_CONTROLLER
1154	select VIDEO_V4L2_SUBDEV_API
1155	help
1156	  This driver supports NOON010PC30 CIF camera from Siliconfile
1157
1158source "drivers/media/i2c/m5mols/Kconfig"
1159
1160config VIDEO_RJ54N1
1161	tristate "Sharp RJ54N1CB0C sensor support"
1162	depends on I2C && VIDEO_V4L2
1163	help
1164	  This is a V4L2 sensor driver for Sharp RJ54N1CB0C CMOS image
1165	  sensor.
1166
1167	  To compile this driver as a module, choose M here: the
1168	  module will be called rj54n1.
1169
1170config VIDEO_S5K6AA
1171	tristate "Samsung S5K6AAFX sensor support"
1172	depends on I2C && VIDEO_V4L2
1173	select MEDIA_CONTROLLER
1174	select VIDEO_V4L2_SUBDEV_API
1175	help
1176	  This is a V4L2 sensor driver for Samsung S5K6AA(FX) 1.3M
1177	  camera sensor with an embedded SoC image signal processor.
1178
1179config VIDEO_S5K6A3
1180	tristate "Samsung S5K6A3 sensor support"
1181	depends on I2C && VIDEO_V4L2
1182	select MEDIA_CONTROLLER
1183	select VIDEO_V4L2_SUBDEV_API
1184	help
1185	  This is a V4L2 sensor driver for Samsung S5K6A3 raw
1186	  camera sensor.
1187
1188config VIDEO_S5K4ECGX
1189	tristate "Samsung S5K4ECGX sensor support"
1190	depends on I2C && VIDEO_V4L2
1191	select MEDIA_CONTROLLER
1192	select VIDEO_V4L2_SUBDEV_API
1193	select CRC32
1194	help
1195	  This is a V4L2 sensor driver for Samsung S5K4ECGX 5M
1196	  camera sensor with an embedded SoC image signal processor.
1197
1198config VIDEO_S5K5BAF
1199	tristate "Samsung S5K5BAF sensor support"
1200	depends on I2C && VIDEO_V4L2
1201	select MEDIA_CONTROLLER
1202	select VIDEO_V4L2_SUBDEV_API
1203	select V4L2_FWNODE
1204	help
1205	  This is a V4L2 sensor driver for Samsung S5K5BAF 2M
1206	  camera sensor with an embedded SoC image signal processor.
1207
1208source "drivers/media/i2c/smiapp/Kconfig"
1209source "drivers/media/i2c/et8ek8/Kconfig"
1210
1211config VIDEO_S5C73M3
1212	tristate "Samsung S5C73M3 sensor support"
1213	depends on I2C && SPI && VIDEO_V4L2
1214	select MEDIA_CONTROLLER
1215	select VIDEO_V4L2_SUBDEV_API
1216	select V4L2_FWNODE
1217	help
1218	  This is a V4L2 sensor driver for Samsung S5C73M3
1219	  8 Mpixel camera.
1220
1221endmenu
1222
1223menu "Lens drivers"
1224	visible if MEDIA_CAMERA_SUPPORT
1225
1226config VIDEO_AD5820
1227	tristate "AD5820 lens voice coil support"
1228	depends on GPIOLIB && I2C && VIDEO_V4L2
1229	select MEDIA_CONTROLLER
1230	help
1231	  This is a driver for the AD5820 camera lens voice coil.
1232	  It is used for example in Nokia N900 (RX-51).
1233
1234config VIDEO_AK7375
1235	tristate "AK7375 lens voice coil support"
1236	depends on I2C && VIDEO_V4L2
1237	select MEDIA_CONTROLLER
1238	select VIDEO_V4L2_SUBDEV_API
1239	help
1240	  This is a driver for the AK7375 camera lens voice coil.
1241	  AK7375 is a 12 bit DAC with 120mA output current sink
1242	  capability. This is designed for linear control of
1243	  voice coil motors, controlled via I2C serial interface.
1244
1245config VIDEO_DW9714
1246	tristate "DW9714 lens voice coil support"
1247	depends on I2C && VIDEO_V4L2
1248	select MEDIA_CONTROLLER
1249	select VIDEO_V4L2_SUBDEV_API
1250	help
1251	  This is a driver for the DW9714 camera lens voice coil.
1252	  DW9714 is a 10 bit DAC with 120mA output current sink
1253	  capability. This is designed for linear control of
1254	  voice coil motors, controlled via I2C serial interface.
1255
1256config VIDEO_DW9807_VCM
1257	tristate "DW9807 lens voice coil support"
1258	depends on I2C && VIDEO_V4L2
1259	select MEDIA_CONTROLLER
1260	select VIDEO_V4L2_SUBDEV_API
1261	help
1262	  This is a driver for the DW9807 camera lens voice coil.
1263	  DW9807 is a 10 bit DAC with 100mA output current sink
1264	  capability. This is designed for linear control of
1265	  voice coil motors, controlled via I2C serial interface.
1266
1267endmenu
1268
1269menu "Flash devices"
1270	visible if MEDIA_CAMERA_SUPPORT
1271
1272config VIDEO_ADP1653
1273	tristate "ADP1653 flash support"
1274	depends on I2C && VIDEO_V4L2
1275	select MEDIA_CONTROLLER
1276	help
1277	  This is a driver for the ADP1653 flash controller. It is used for
1278	  example in Nokia N900.
1279
1280config VIDEO_LM3560
1281	tristate "LM3560 dual flash driver support"
1282	depends on I2C && VIDEO_V4L2
1283	select MEDIA_CONTROLLER
1284	select REGMAP_I2C
1285	help
1286	  This is a driver for the lm3560 dual flash controllers. It controls
1287	  flash, torch LEDs.
1288
1289config VIDEO_LM3646
1290	tristate "LM3646 dual flash driver support"
1291	depends on I2C && VIDEO_V4L2
1292	select MEDIA_CONTROLLER
1293	select REGMAP_I2C
1294	help
1295	  This is a driver for the lm3646 dual flash controllers. It controls
1296	  flash, torch LEDs.
1297endmenu
1298
1299endif # VIDEO_V4L2
1300