# SPDX-License-Identifier: GPL-2.0-only
config DVB_USB
	tristate "Support for various USB DVB devices"
	depends on DVB_CORE && USB && I2C && RC_CORE
	select CYPRESS_FIRMWARE
	help
	  By enabling this you will be able to choose the various supported
	  USB1.1 and USB2.0 DVB devices.

	  Almost every USB device needs a firmware, please look into
	  <file:Documentation/driver-api/media/drivers/dvb-usb.rst>.

	  For a complete list of supported USB devices see the LinuxTV DVB Wiki:
	  <https://linuxtv.org/wiki/index.php/DVB_USB>

	  Say Y if you own a USB DVB device.

config DVB_USB_DEBUG
	bool "Enable extended debug support for all DVB-USB devices"
	depends on DVB_USB
	help
	  Say Y if you want to enable debugging. See modinfo dvb-usb (and the
	  appropriate drivers) for debug levels.

if DVB_USB

config DVB_USB_A800
	tristate "AVerMedia AverTV DVB-T USB 2.0 (A800)"
	depends on DVB_USB
	select DVB_USB_DIB3000MC
	select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_MT2060 if MEDIA_SUBDRV_AUTOSELECT
	help
	  Say Y here to support the AVerMedia AverTV DVB-T USB 2.0 (A800) receiver.

config DVB_USB_AF9005
	tristate "Afatech AF9005 DVB-T USB1.1 support"
	depends on DVB_USB
	select MEDIA_TUNER_MT2060 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_QT1010 if MEDIA_SUBDRV_AUTOSELECT
	help
	  Say Y here to support the Afatech AF9005 based DVB-T USB1.1 receiver
	  and the TerraTec Cinergy T USB XE (Rev.1)

config DVB_USB_AF9005_REMOTE
	tristate "Afatech AF9005 default remote control support"
	depends on DVB_USB_AF9005
	help
	  Say Y here to support the default remote control decoding for the
	  Afatech AF9005 based receiver.

config DVB_USB_AZ6027
	tristate "Azurewave DVB-S/S2 USB2.0 AZ6027 support"
	depends on DVB_USB
	select DVB_STB0899 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_STB6100 if MEDIA_SUBDRV_AUTOSELECT
	help
	  Say Y here to support the AZ6027 device

config DVB_USB_CINERGY_T2
	tristate "Terratec CinergyT2/qanu USB 2.0 DVB-T receiver"
	depends on DVB_USB
	help
	  Support for "TerraTec CinergyT2" USB2.0 Highspeed DVB Receivers

	  Say Y if you own such a device and want to use it.

config DVB_USB_CXUSB
	tristate "Conexant USB2.0 hybrid reference design support"
	depends on DVB_USB
	select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT
	select DVB_CX22702 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_LGDT330X if MEDIA_SUBDRV_AUTOSELECT
	select DVB_MT352 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_ZL10353 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_DIB7000P if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TUNER_DIB0070 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_ATBM8830 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_LGS8GXX if MEDIA_SUBDRV_AUTOSELECT
	select DVB_SI2168 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_SIMPLE if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_XC2028 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_MXL5005S if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_MAX2165 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_SI2157 if MEDIA_SUBDRV_AUTOSELECT
	help
	  Say Y here to support the Conexant USB2.0 hybrid reference design.
	  DVB and ATSC modes are supported, for a basic analog mode support
	  see the next option ("Analog support for the Conexant USB2.0 hybrid
	  reference design").
	  Devices that require this module:

	  Medion MD95700 hybrid USB2.0 device.
	  DViCO FusionHDTV (Bluebird) USB2.0 devices

config DVB_USB_CXUSB_ANALOG
	bool "Analog support for the Conexant USB2.0 hybrid reference design"
	depends on DVB_USB_CXUSB && VIDEO_DEV
	depends on VIDEO_DEV=y || VIDEO_DEV=DVB_USB_CXUSB
	select VIDEO_CX25840
	select VIDEOBUF2_VMALLOC
	help
	  Say Y here to enable basic analog mode support for the Conexant
	  USB2.0 hybrid reference design.
	  Currently this mode is supported only on a Medion MD95700 device.

config DVB_USB_DIB0700
	tristate "DiBcom DiB0700 USB DVB devices (see help for supported devices)"
	depends on DVB_USB
	select DVB_DIB7000P if MEDIA_SUBDRV_AUTOSELECT
	select DVB_DIB7000M if MEDIA_SUBDRV_AUTOSELECT
	select DVB_DIB8000 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_USB_DIB3000MC if MEDIA_SUBDRV_AUTOSELECT
	select DVB_S5H1411 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_LGDT3305 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_MN88472 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TUNER_DIB0070 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TUNER_DIB0090 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_MT2060 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_MT2266 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_XC2028 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_XC5000 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_XC4000 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_MXL5007T if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_TDA18250 if MEDIA_SUBDRV_AUTOSELECT
	help
	  Support for USB2.0/1.1 DVB receivers based on the DiB0700 USB bridge. The
	  USB bridge is also present in devices having the DiB7700 DVB-T-USB
	  silicon. This chip can be found in devices offered by Hauppauge,
	  Avermedia and other big and small companies.

	  For an up-to-date list of devices supported by this driver, have a look
	  on the LinuxTV Wiki at www.linuxtv.org.

	  Say Y if you own such a device and want to use it. You should build it as
	  a module.

config DVB_USB_DIB3000MC
	tristate
	depends on DVB_USB
	select DVB_DIB3000MC
	help
	  This is a module with helper functions for accessing the
	  DIB3000MC from USB DVB devices. It must be a separate module
	  in case DVB_USB is built-in and DVB_DIB3000MC is a module,
	  and gets selected automatically when needed.

config DVB_USB_DIBUSB_MB
	tristate "DiBcom USB DVB-T devices (based on the DiB3000M-B) (see help for device list)"
	depends on DVB_USB
	select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT
	select DVB_DIB3000MB
	depends on DVB_DIB3000MC || !DVB_DIB3000MC
	select MEDIA_TUNER_MT2060 if MEDIA_SUBDRV_AUTOSELECT
	help
	  Support for USB 1.1 and 2.0 DVB-T receivers based on reference designs made by
	  DiBcom (<http://www.dibcom.fr>) equipped with a DiB3000M-B demodulator.

	  For an up-to-date list of devices supported by this driver, have a look
	  on the Linux-DVB Wiki at www.linuxtv.org.

	  Say Y if you own such a device and want to use it. You should build it as
	  a module.

config DVB_USB_DIBUSB_MB_FAULTY
	bool "Support faulty USB IDs"
	depends on DVB_USB_DIBUSB_MB
	help
	  Support for faulty USB IDs due to an invalid EEPROM on some Artec devices.

config DVB_USB_DIBUSB_MC
	tristate "DiBcom USB DVB-T devices (based on the DiB3000M-C/P) (see help for device list)"
	depends on DVB_USB
	select DVB_USB_DIB3000MC
	select MEDIA_TUNER_MT2060 if MEDIA_SUBDRV_AUTOSELECT
	help
	  Support for USB2.0 DVB-T receivers based on reference designs made by
	  DiBcom (<http://www.dibcom.fr>) equipped with a DiB3000M-C/P demodulator.

	  For an up-to-date list of devices supported by this driver, have a look
	  on the Linux-DVB Wiki at www.linuxtv.org.

	  Say Y if you own such a device and want to use it. You should build it as
	  a module.

config DVB_USB_DIGITV
	tristate "Nebula Electronics uDigiTV DVB-T USB2.0 support"
	depends on DVB_USB
	select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT
	select DVB_NXT6000 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_MT352 if MEDIA_SUBDRV_AUTOSELECT
	help
	  Say Y here to support the Nebula Electronics uDigitV USB2.0 DVB-T receiver.

config DVB_USB_DTT200U
	tristate "WideView WT-200U and WT-220U (pen) DVB-T USB2.0 support (Yakumo/Hama/Typhoon/Yuan)"
	depends on DVB_USB
	help
	  Say Y here to support the WideView/Yakumo/Hama/Typhoon/Yuan DVB-T USB2.0 receiver.

	  The receivers are also known as DTT200U (Yakumo) and UB300 (Yuan).

	  The WT-220U and its clones are pen-sized.

config DVB_USB_DTV5100
	tristate "AME DTV-5100 USB2.0 DVB-T support"
	depends on DVB_USB
	select DVB_ZL10353 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_QT1010 if MEDIA_SUBDRV_AUTOSELECT
	help
	  Say Y here to support the AME DTV-5100 USB2.0 DVB-T receiver.

config DVB_USB_DW2102
	tristate "DvbWorld & TeVii DVB-S/S2 USB2.0 support"
	depends on DVB_USB
	select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT
	select DVB_STV0299 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_STV0288 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_STB6000 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_CX24116 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_SI21XX if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TDA10023 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_MT312 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_ZL10039 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_DS3000 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TS2020 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_STB6100 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_STV6110 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_STV0900 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_M88RS2000 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_M88DS3103 if MEDIA_SUBDRV_AUTOSELECT
	help
	  Say Y here to support the DvbWorld, TeVii, Prof, TechnoTrend
	  DVB-S/S2 USB2.0 receivers.

config DVB_USB_GP8PSK
	tristate "GENPIX 8PSK->USB module support"
	depends on DVB_USB
	help
	  Say Y here to support the
	    GENPIX 8psk module

	  DVB-S USB2.0 receivers.

config DVB_USB_M920X
	tristate "Uli m920x DVB-T USB2.0 support"
	depends on DVB_USB
	select DVB_MT352 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TDA1004X if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_QT1010 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_TDA827X if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_SIMPLE if MEDIA_SUBDRV_AUTOSELECT
	help
	  Say Y here to support the MSI Mega Sky 580 USB2.0 DVB-T receiver.
	  Currently, only devices with a product id of
	  "DTV USB MINI" (in cold state) are supported.
	  Firmware required.

config DVB_USB_NOVA_T_USB2
	tristate "Hauppauge WinTV-NOVA-T usb2 DVB-T USB2.0 support"
	depends on DVB_USB
	select DVB_USB_DIB3000MC
	select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_MT2060 if MEDIA_SUBDRV_AUTOSELECT
	help
	  Say Y here to support the Hauppauge WinTV-NOVA-T usb2 DVB-T USB2.0 receiver.

config DVB_USB_OPERA1
	tristate "Opera1 DVB-S USB2.0 receiver"
	depends on DVB_USB
	select DVB_STV0299 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT
	help
	  Say Y here to support the Opera DVB-S USB2.0 receiver.

config DVB_USB_PCTV452E
	tristate "Pinnacle PCTV HDTV Pro USB device/TT Connect S2-3600"
	depends on DVB_USB
	select TTPCI_EEPROM
	select DVB_ISL6423 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_LNBP22 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_STB0899 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_STB6100 if MEDIA_SUBDRV_AUTOSELECT
	help
	  Support for external USB adapter designed by Pinnacle,
	  shipped under the brand name 'PCTV HDTV Pro USB'.
	  Also supports TT Connect S2-3600/3650 cards.
	  Say Y if you own such a device and want to use it.

config DVB_USB_TECHNISAT_USB2
	tristate "Technisat DVB-S/S2 USB2.0 support"
	depends on DVB_USB
	select DVB_STV090x if MEDIA_SUBDRV_AUTOSELECT
	select DVB_STV6110x if MEDIA_SUBDRV_AUTOSELECT
	help
	  Say Y here to support the Technisat USB2 DVB-S/S2 device

config DVB_USB_TTUSB2
	tristate "Pinnacle 400e DVB-S USB2.0 support"
	depends on DVB_USB
	select DVB_TDA10086 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_LNBP21 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TDA826X if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TDA10023 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TDA10048 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_TDA827X if MEDIA_SUBDRV_AUTOSELECT
	help
	  Say Y here to support the Pinnacle 400e DVB-S USB2.0 receiver and
	  the TechnoTrend CT-3650 CI DVB-C/T USB2.0 receiver. The
	  firmware protocol used by this module is similar to the one used by the
	  old ttusb-driver - that's why the module is called dvb-usb-ttusb2.

config DVB_USB_UMT_010
	tristate "HanfTek UMT-010 DVB-T USB2.0 support"
	depends on DVB_USB
	select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT
	select DVB_USB_DIB3000MC
	select MEDIA_TUNER_MT2060 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_MT352 if MEDIA_SUBDRV_AUTOSELECT
	help
	  Say Y here to support the HanfTek UMT-010 USB2.0 stick-sized DVB-T receiver.

config DVB_USB_VP702X
	tristate "TwinhanDTV StarBox and clones DVB-S USB2.0 support"
	depends on DVB_USB
	help
	  Say Y here to support the

	    TwinhanDTV StarBox,
		DigitalRise USB Starbox and
		TYPHOON DVB-S USB 2.0 BOX

	  DVB-S USB2.0 receivers.

config DVB_USB_VP7045
	tristate "TwinhanDTV Alpha/MagicBoxII, DNTV tinyUSB2, Beetle USB2.0 support"
	depends on DVB_USB
	help
	  Say Y here to support the

	    TwinhanDTV Alpha (stick) (VP-7045),
		TwinhanDTV MagicBox II (VP-7046),
		DigitalNow TinyUSB 2 DVB-t,
		DigitalRise USB 2.0 Ter (Beetle) and
		TYPHOON DVB-T USB DRIVE

	  DVB-T USB2.0 receivers.

endif