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