1# SPDX-License-Identifier: GPL-2.0-only
2config VIDEO_EM28XX
3	tristate "Empia EM28xx USB devices support"
4	depends on VIDEO_DEV && I2C
5	select VIDEO_TUNER
6	select VIDEO_TVEEPROM
7
8config VIDEO_EM28XX_V4L2
9	tristate "Empia EM28xx analog TV, video capture and/or webcam support"
10	depends on VIDEO_EM28XX
11	select VIDEOBUF2_VMALLOC
12	select VIDEO_SAA711X if MEDIA_SUBDRV_AUTOSELECT
13	select VIDEO_TVP5150 if MEDIA_SUBDRV_AUTOSELECT
14	select VIDEO_MSP3400 if MEDIA_SUBDRV_AUTOSELECT
15	select VIDEO_MT9V011 if MEDIA_SUBDRV_AUTOSELECT && MEDIA_CAMERA_SUPPORT
16	select VIDEO_OV2640 if MEDIA_SUBDRV_AUTOSELECT && MEDIA_CAMERA_SUPPORT
17	help
18	  This is a video4linux driver for Empia 28xx based TV cards.
19
20	  To compile this driver as a module, choose M here: the
21	  module will be called em28xx
22
23config VIDEO_EM28XX_ALSA
24	depends on VIDEO_EM28XX && SND
25	select SND_PCM
26	tristate "Empia EM28xx ALSA audio module"
27	help
28	  This is an ALSA driver for some Empia 28xx based TV cards.
29
30	  This is not required for em2800/em2820/em2821 boards. However,
31	  newer em28xx devices uses Vendor Class for audio, instead of
32	  implementing the USB Audio Class. For those chips, this module
33	  will enable digital audio.
34
35	  To compile this driver as a module, choose M here: the
36	  module will be called em28xx-alsa
37
38config VIDEO_EM28XX_DVB
39	tristate "DVB/ATSC Support for em28xx based TV cards"
40	depends on VIDEO_EM28XX && DVB_CORE
41	select DVB_LGDT330X if MEDIA_SUBDRV_AUTOSELECT
42	select DVB_LGDT3305 if MEDIA_SUBDRV_AUTOSELECT
43	select DVB_LGDT3306A if MEDIA_SUBDRV_AUTOSELECT
44	select DVB_ZL10353 if MEDIA_SUBDRV_AUTOSELECT
45	select DVB_TDA10023 if MEDIA_SUBDRV_AUTOSELECT
46	select DVB_S921 if MEDIA_SUBDRV_AUTOSELECT
47	select DVB_DRXD if MEDIA_SUBDRV_AUTOSELECT
48	select DVB_CXD2820R if MEDIA_SUBDRV_AUTOSELECT
49	select DVB_DRXK if MEDIA_SUBDRV_AUTOSELECT
50	select DVB_TDA18271C2DD if MEDIA_SUBDRV_AUTOSELECT
51	select DVB_TDA10071 if MEDIA_SUBDRV_AUTOSELECT
52	select DVB_A8293 if MEDIA_SUBDRV_AUTOSELECT
53	select DVB_MT352 if MEDIA_SUBDRV_AUTOSELECT
54	select DVB_S5H1409 if MEDIA_SUBDRV_AUTOSELECT
55	select DVB_MB86A20S if MEDIA_SUBDRV_AUTOSELECT
56	select MEDIA_TUNER_QT1010 if MEDIA_SUBDRV_AUTOSELECT
57	select MEDIA_TUNER_TDA18271 if MEDIA_SUBDRV_AUTOSELECT
58	select MEDIA_TUNER_TDA18212 if MEDIA_SUBDRV_AUTOSELECT
59	select DVB_M88DS3103 if MEDIA_SUBDRV_AUTOSELECT
60	select DVB_TS2020 if MEDIA_SUBDRV_AUTOSELECT
61	select DVB_DRX39XYJ if MEDIA_SUBDRV_AUTOSELECT
62	select DVB_SI2168 if MEDIA_SUBDRV_AUTOSELECT
63	select MEDIA_TUNER_SI2157 if MEDIA_SUBDRV_AUTOSELECT
64	select DVB_TC90522 if MEDIA_SUBDRV_AUTOSELECT
65	select MEDIA_TUNER_QM1D1C0042 if MEDIA_SUBDRV_AUTOSELECT
66	select MEDIA_TUNER_SIMPLE if MEDIA_SUBDRV_AUTOSELECT
67	select MEDIA_TUNER_XC2028 if MEDIA_SUBDRV_AUTOSELECT
68	select MEDIA_TUNER_XC5000 if MEDIA_SUBDRV_AUTOSELECT
69	select MEDIA_TUNER_MT2060 if MEDIA_SUBDRV_AUTOSELECT
70	select DVB_MXL692 if MEDIA_SUBDRV_AUTOSELECT
71	help
72	  This adds support for DVB cards based on the
73	  Empiatech em28xx chips.
74
75config VIDEO_EM28XX_RC
76	tristate "EM28XX Remote Controller support"
77	depends on RC_CORE
78	depends on VIDEO_EM28XX
79	depends on !(RC_CORE=m && VIDEO_EM28XX=y)
80	default VIDEO_EM28XX
81	select BITREVERSE
82	help
83	  Enables Remote Controller support on em28xx driver.
84