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