162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ciconfig VIDEO_EM28XX
362306a36Sopenharmony_ci	tristate "Empia EM28xx USB devices support"
462306a36Sopenharmony_ci	depends on VIDEO_DEV && I2C
562306a36Sopenharmony_ci	select VIDEO_TUNER
662306a36Sopenharmony_ci	select VIDEO_TVEEPROM
762306a36Sopenharmony_ci
862306a36Sopenharmony_ciconfig VIDEO_EM28XX_V4L2
962306a36Sopenharmony_ci	tristate "Empia EM28xx analog TV, video capture and/or webcam support"
1062306a36Sopenharmony_ci	depends on VIDEO_EM28XX
1162306a36Sopenharmony_ci	select VIDEOBUF2_VMALLOC
1262306a36Sopenharmony_ci	select VIDEO_SAA711X if MEDIA_SUBDRV_AUTOSELECT
1362306a36Sopenharmony_ci	select VIDEO_TVP5150 if MEDIA_SUBDRV_AUTOSELECT
1462306a36Sopenharmony_ci	select VIDEO_MSP3400 if MEDIA_SUBDRV_AUTOSELECT
1562306a36Sopenharmony_ci	select VIDEO_MT9V011 if MEDIA_SUBDRV_AUTOSELECT && VIDEO_CAMERA_SENSOR
1662306a36Sopenharmony_ci	select VIDEO_OV2640 if MEDIA_SUBDRV_AUTOSELECT && VIDEO_CAMERA_SENSOR
1762306a36Sopenharmony_ci	help
1862306a36Sopenharmony_ci	  This is a video4linux driver for Empia 28xx based TV cards.
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
2162306a36Sopenharmony_ci	  module will be called em28xx
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ciconfig VIDEO_EM28XX_ALSA
2462306a36Sopenharmony_ci	depends on VIDEO_EM28XX && SND
2562306a36Sopenharmony_ci	select SND_PCM
2662306a36Sopenharmony_ci	tristate "Empia EM28xx ALSA audio module"
2762306a36Sopenharmony_ci	help
2862306a36Sopenharmony_ci	  This is an ALSA driver for some Empia 28xx based TV cards.
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ci	  This is not required for em2800/em2820/em2821 boards. However,
3162306a36Sopenharmony_ci	  newer em28xx devices uses Vendor Class for audio, instead of
3262306a36Sopenharmony_ci	  implementing the USB Audio Class. For those chips, this module
3362306a36Sopenharmony_ci	  will enable digital audio.
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
3662306a36Sopenharmony_ci	  module will be called em28xx-alsa
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ciconfig VIDEO_EM28XX_DVB
3962306a36Sopenharmony_ci	tristate "DVB/ATSC Support for em28xx based TV cards"
4062306a36Sopenharmony_ci	depends on VIDEO_EM28XX && DVB_CORE
4162306a36Sopenharmony_ci	select DVB_LGDT330X if MEDIA_SUBDRV_AUTOSELECT
4262306a36Sopenharmony_ci	select DVB_LGDT3305 if MEDIA_SUBDRV_AUTOSELECT
4362306a36Sopenharmony_ci	select DVB_LGDT3306A if MEDIA_SUBDRV_AUTOSELECT
4462306a36Sopenharmony_ci	select DVB_ZL10353 if MEDIA_SUBDRV_AUTOSELECT
4562306a36Sopenharmony_ci	select DVB_TDA10023 if MEDIA_SUBDRV_AUTOSELECT
4662306a36Sopenharmony_ci	select DVB_S921 if MEDIA_SUBDRV_AUTOSELECT
4762306a36Sopenharmony_ci	select DVB_DRXD if MEDIA_SUBDRV_AUTOSELECT
4862306a36Sopenharmony_ci	select DVB_CXD2820R if MEDIA_SUBDRV_AUTOSELECT
4962306a36Sopenharmony_ci	select DVB_DRXK if MEDIA_SUBDRV_AUTOSELECT
5062306a36Sopenharmony_ci	select DVB_TDA18271C2DD if MEDIA_SUBDRV_AUTOSELECT
5162306a36Sopenharmony_ci	select DVB_TDA10071 if MEDIA_SUBDRV_AUTOSELECT
5262306a36Sopenharmony_ci	select DVB_A8293 if MEDIA_SUBDRV_AUTOSELECT
5362306a36Sopenharmony_ci	select DVB_MT352 if MEDIA_SUBDRV_AUTOSELECT
5462306a36Sopenharmony_ci	select DVB_S5H1409 if MEDIA_SUBDRV_AUTOSELECT
5562306a36Sopenharmony_ci	select DVB_MB86A20S if MEDIA_SUBDRV_AUTOSELECT
5662306a36Sopenharmony_ci	select MEDIA_TUNER_QT1010 if MEDIA_SUBDRV_AUTOSELECT
5762306a36Sopenharmony_ci	select MEDIA_TUNER_TDA18271 if MEDIA_SUBDRV_AUTOSELECT
5862306a36Sopenharmony_ci	select MEDIA_TUNER_TDA18212 if MEDIA_SUBDRV_AUTOSELECT
5962306a36Sopenharmony_ci	select DVB_M88DS3103 if MEDIA_SUBDRV_AUTOSELECT
6062306a36Sopenharmony_ci	select DVB_TS2020 if MEDIA_SUBDRV_AUTOSELECT
6162306a36Sopenharmony_ci	select DVB_DRX39XYJ if MEDIA_SUBDRV_AUTOSELECT
6262306a36Sopenharmony_ci	select DVB_SI2168 if MEDIA_SUBDRV_AUTOSELECT
6362306a36Sopenharmony_ci	select MEDIA_TUNER_SI2157 if MEDIA_SUBDRV_AUTOSELECT
6462306a36Sopenharmony_ci	select DVB_TC90522 if MEDIA_SUBDRV_AUTOSELECT
6562306a36Sopenharmony_ci	select MEDIA_TUNER_QM1D1C0042 if MEDIA_SUBDRV_AUTOSELECT
6662306a36Sopenharmony_ci	select MEDIA_TUNER_SIMPLE if MEDIA_SUBDRV_AUTOSELECT
6762306a36Sopenharmony_ci	select MEDIA_TUNER_XC2028 if MEDIA_SUBDRV_AUTOSELECT
6862306a36Sopenharmony_ci	select MEDIA_TUNER_XC5000 if MEDIA_SUBDRV_AUTOSELECT
6962306a36Sopenharmony_ci	select MEDIA_TUNER_MT2060 if MEDIA_SUBDRV_AUTOSELECT
7062306a36Sopenharmony_ci	select DVB_MXL692 if MEDIA_SUBDRV_AUTOSELECT
7162306a36Sopenharmony_ci	help
7262306a36Sopenharmony_ci	  This adds support for DVB cards based on the
7362306a36Sopenharmony_ci	  Empiatech em28xx chips.
7462306a36Sopenharmony_ci
7562306a36Sopenharmony_ciconfig VIDEO_EM28XX_RC
7662306a36Sopenharmony_ci	tristate "EM28XX Remote Controller support"
7762306a36Sopenharmony_ci	depends on RC_CORE
7862306a36Sopenharmony_ci	depends on VIDEO_EM28XX
7962306a36Sopenharmony_ci	depends on !(RC_CORE=m && VIDEO_EM28XX=y)
8062306a36Sopenharmony_ci	default VIDEO_EM28XX
8162306a36Sopenharmony_ci	select BITREVERSE
8262306a36Sopenharmony_ci	help
8362306a36Sopenharmony_ci	  Enables Remote Controller support on em28xx driver.
84