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