mainmenu "V4L/DVB menu"
source "Kconfig.kern"
config VIDEO_KERNEL_VERSION
	bool "Enable drivers not supported by this kernel"
	default n
	---help---
	  Normally drivers that require a kernel newer 5.4.0,
	  the kernel you are compiling for now, will be disabled.

	  Turning this switch on will let you enabled them, but be warned
	  they may not work properly or even compile.

	  They may also work fine, and the only reason they are listed as
	  requiring a newer kernel is that no one has tested them with an
	  older one yet.

	  If the driver works, please post a report to the V4L mailing list:
			 linux-media@vger.kernel.org.

	  Unless you know what you are doing, you should answer N.

# SPDX-License-Identifier: GPL-2.0-only
#
# Multimedia device configuration
#

#
# NOTE: CEC and Remote Controller support should not depend on MEDIA_SUPPORT
#
# SPDX-License-Identifier: GPL-2.0-only

menuconfig RC_CORE
	tristate "Remote Controller support"
	depends on INPUT
	help
	  Enable support for Remote Controllers on Linux. This is
	  needed in order to support several video capture adapters,
	  standalone IR receivers/transmitters, and RF receivers.

	  Enable this option if you have a video capture board even
	  if you don't need IR, as otherwise, you may not be able to
	  compile the driver for your adapter.

	  Say Y when you have a TV or an IR device.

if RC_CORE
# SPDX-License-Identifier: GPL-2.0-only
config RC_MAP
	tristate "Compile Remote Controller keymap modules"
	depends on RC_CORE
	default y

	help
	   This option enables the compilation of lots of Remote
	   Controller tables. They are short tables, but if you
	   don't use a remote controller, or prefer to load the
	   tables on userspace, you should disable it.

	   The ir-keytable program, available at v4l-utils package
	   provide the tool and the same RC maps for load from
	   userspace. Its available at
		http://git.linuxtv.org/cgit.cgi/v4l-utils.git/

config LIRC
	bool "LIRC user interface"
	depends on RC_CORE
	help
	   Enable this option to enable the Linux Infrared Remote
	   Control user interface (e.g. /dev/lirc*). This interface
	   passes raw IR to and from userspace, which is needed for
	   IR transmitting (aka "blasting") and for the lirc daemon.

config BPF_LIRC_MODE2
	bool "Support for eBPF programs attached to lirc devices"
	depends on BPF_SYSCALL
	depends on RC_CORE=y
	depends on LIRC
	help
	   Allow attaching eBPF programs to a lirc device using the bpf(2)
	   syscall command BPF_PROG_ATTACH. This is supported for raw IR
	   receivers.

	   These eBPF programs can be used to decode IR into scancodes, for
	   IR protocols not supported by the kernel decoders.

menuconfig RC_DECODERS
	bool "Remote controller decoders"
	depends on RC_CORE

if RC_DECODERS
config IR_NEC_DECODER
	tristate "Enable IR raw decoder for the NEC protocol"
	depends on RC_CORE
	select BITREVERSE

	help
	   Enable this option if you have IR with NEC protocol, and
	   if the IR is decoded in software

config IR_RC5_DECODER
	tristate "Enable IR raw decoder for the RC-5 protocol"
	depends on RC_CORE
	select BITREVERSE

	help
	   Enable this option if you have IR with RC-5 protocol, and
	   if the IR is decoded in software

config IR_RC6_DECODER
	tristate "Enable IR raw decoder for the RC6 protocol"
	depends on RC_CORE
	select BITREVERSE

	help
	   Enable this option if you have an infrared remote control which
	   uses the RC6 protocol, and you need software decoding support.

config IR_JVC_DECODER
	tristate "Enable IR raw decoder for the JVC protocol"
	depends on RC_CORE
	select BITREVERSE

	help
	   Enable this option if you have an infrared remote control which
	   uses the JVC protocol, and you need software decoding support.

config IR_SONY_DECODER
	tristate "Enable IR raw decoder for the Sony protocol"
	depends on RC_CORE
	select BITREVERSE

	help
	   Enable this option if you have an infrared remote control which
	   uses the Sony protocol, and you need software decoding support.

config IR_SANYO_DECODER
	tristate "Enable IR raw decoder for the Sanyo protocol"
	depends on RC_CORE

	help
	   Enable this option if you have an infrared remote control which
	   uses the Sanyo protocol (Sanyo, Aiwa, Chinon remotes),
	   and you need software decoding support.

config IR_SHARP_DECODER
	tristate "Enable IR raw decoder for the Sharp protocol"
	depends on RC_CORE

	help
	   Enable this option if you have an infrared remote control which
	   uses the Sharp protocol (Sharp, Denon), and you need software
	   decoding support.

config IR_MCE_KBD_DECODER
	tristate "Enable IR raw decoder for the MCE keyboard/mouse protocol"
	depends on RC_CORE
	select BITREVERSE

	help
	   Enable this option if you have a Microsoft Remote Keyboard for
	   Windows Media Center Edition, which you would like to use with
	   a raw IR receiver in your system.

config IR_XMP_DECODER
	tristate "Enable IR raw decoder for the XMP protocol"
	depends on RC_CORE
	select BITREVERSE

	help
	   Enable this option if you have IR with XMP protocol, and
	   if the IR is decoded in software

config IR_IMON_DECODER
	tristate "Enable IR raw decoder for the iMON protocol"
	depends on RC_CORE
	help
	   Enable this option if you have iMON PAD or Antec Veris infrared
	   remote control and you would like to use it with a raw IR
	   receiver, or if you wish to use an encoder to transmit this IR.

config IR_RCMM_DECODER
	tristate "Enable IR raw decoder for the RC-MM protocol"
	depends on RC_CORE
	help
	   Enable this option when you have IR with RC-MM protocol, and
	   you need the software decoder. The driver supports 12,
	   24 and 32 bits RC-MM variants. You can enable or disable the
	   different modes using the following RC protocol keywords:
	   'rc-mm-12', 'rc-mm-24' and 'rc-mm-32'.

	   To compile this driver as a module, choose M here: the module
	   will be called ir-rcmm-decoder.

endif #RC_DECODERS

menuconfig RC_DEVICES
	bool "Remote Controller devices"
	depends on RC_CORE

if RC_DEVICES

config RC_ATI_REMOTE
	tristate "ATI / X10 based USB RF remote controls"
	depends on USB_ARCH_HAS_HCD
	depends on RC_CORE
	select USB
	help
	   Say Y here if you want to use an X10 based USB remote control.
	   These are RF remotes with USB receivers.

	   Such devices include the ATI remote that comes with many of ATI's
	   All-In-Wonder video cards, the X10 "Lola" remote, NVIDIA RF remote,
	   Medion RF remote, and SnapStream FireFly remote.

	   This driver provides mouse pointer, left and right mouse buttons,
	   and maps all the other remote buttons to keypress events.

	   To compile this driver as a module, choose M here: the module will be
	   called ati_remote.

config IR_ENE
	tristate "ENE eHome Receiver/Transceiver (pnp id: ENE0100/ENE02xxx)"
	depends on PNP || COMPILE_TEST
	depends on RC_CORE
	help
	   Say Y here to enable support for integrated infrared receiver
	   /transceiver made by ENE.

	   You can see if you have it by looking at lspnp output.
	   Output should include ENE0100 ENE0200 or something similar.

	   To compile this driver as a module, choose M here: the
	   module will be called ene_ir.

config IR_HIX5HD2
	tristate "Hisilicon hix5hd2 IR remote control"
	depends on RC_CORE
	depends on OF || COMPILE_TEST
	help
	   Say Y here if you want to use hisilicon hix5hd2 remote control.
	   To compile this driver as a module, choose M here: the module will be
	   called ir-hix5hd2.

	   If you're not sure, select N here

config IR_IMON
	tristate "SoundGraph iMON Receiver and Display"
	depends on USB_ARCH_HAS_HCD
	depends on RC_CORE
	select USB
	help
	   Say Y here if you want to use a SoundGraph iMON (aka Antec Veris)
	   IR Receiver and/or LCD/VFD/VGA display.

	   To compile this driver as a module, choose M here: the
	   module will be called imon.

config IR_IMON_RAW
	tristate "SoundGraph iMON Receiver (early raw IR models)"
	depends on USB_ARCH_HAS_HCD
	depends on RC_CORE
	select USB
	help
	   Say Y here if you want to use a SoundGraph iMON IR Receiver,
	   early raw models.

	   To compile this driver as a module, choose M here: the
	   module will be called imon_raw.

config IR_MCEUSB
	tristate "Windows Media Center Ed. eHome Infrared Transceiver"
	depends on USB_ARCH_HAS_HCD
	depends on RC_CORE
	select USB
	help
	   Say Y here if you want to use a Windows Media Center Edition
	   eHome Infrared Transceiver.

	   To compile this driver as a module, choose M here: the
	   module will be called mceusb.

config IR_ITE_CIR
	tristate "ITE Tech Inc. IT8712/IT8512 Consumer Infrared Transceiver"
	depends on PNP || COMPILE_TEST
	depends on RC_CORE
	help
	   Say Y here to enable support for integrated infrared receivers
	   /transceivers made by ITE Tech Inc. These are found in
	   several ASUS devices, like the ASUS Digimatrix or the ASUS
	   EEEBox 1501U.

	   To compile this driver as a module, choose M here: the
	   module will be called ite-cir.

config IR_FINTEK
	tristate "Fintek Consumer Infrared Transceiver"
	depends on PNP || COMPILE_TEST
	depends on RC_CORE
	help
	   Say Y here to enable support for integrated infrared receiver
	   /transceiver made by Fintek. This chip is found on assorted
	   Jetway motherboards (and of course, possibly others).

	   To compile this driver as a module, choose M here: the
	   module will be called fintek-cir.

config IR_MESON
	tristate "Amlogic Meson IR remote receiver"
	depends on RC_CORE
	depends on ARCH_MESON || COMPILE_TEST
	help
	   Say Y if you want to use the IR remote receiver available
	   on Amlogic Meson SoCs.

	   To compile this driver as a module, choose M here: the
	   module will be called meson-ir.

config IR_MTK
	tristate "Mediatek IR remote receiver"
	depends on RC_CORE
	depends on ARCH_MEDIATEK || COMPILE_TEST
	help
	   Say Y if you want to use the IR remote receiver available
	   on Mediatek SoCs.

	   To compile this driver as a module, choose M here: the
	   module will be called mtk-cir.

config IR_NUVOTON
	tristate "Nuvoton w836x7hg Consumer Infrared Transceiver"
	depends on PNP || COMPILE_TEST
	depends on RC_CORE
	help
	   Say Y here to enable support for integrated infrared receiver
	   /transceiver made by Nuvoton (formerly Winbond). This chip is
	   found in the ASRock ION 330HT, as well as assorted Intel
	   DP55-series motherboards (and of course, possibly others).

	   To compile this driver as a module, choose M here: the
	   module will be called nuvoton-cir.

config IR_REDRAT3
	tristate "RedRat3 IR Transceiver"
	depends on USB_ARCH_HAS_HCD
	depends on RC_CORE
	select NEW_LEDS
	select LEDS_CLASS
	select USB
	help
	   Say Y here if you want to use a RedRat3 Infrared Transceiver.

	   To compile this driver as a module, choose M here: the
	   module will be called redrat3.

config IR_SPI
	tristate "SPI connected IR LED"
	depends on SPI && LIRC
	depends on OF || COMPILE_TEST
	help
	  Say Y if you want to use an IR LED connected through SPI bus.

	  To compile this driver as a module, choose M here: the module will be
	  called ir-spi.

config IR_STREAMZAP
	tristate "Streamzap PC Remote IR Receiver"
	depends on USB_ARCH_HAS_HCD
	depends on RC_CORE
	select USB
	help
	   Say Y here if you want to use a Streamzap PC Remote
	   Infrared Receiver.

	   To compile this driver as a module, choose M here: the
	   module will be called streamzap.

config IR_WINBOND_CIR
	tristate "Winbond IR remote control"
	depends on (X86 && PNP) || COMPILE_TEST
	depends on RC_CORE
	select NEW_LEDS
	select LEDS_CLASS
	select BITREVERSE
	help
	   Say Y here if you want to use the IR remote functionality found
	   in some Winbond SuperI/O chips. Currently only the WPCD376I
	   chip is supported (included in some Intel Media series
	   motherboards).

	   To compile this driver as a module, choose M here: the module will
	   be called winbond_cir.

config IR_IGORPLUGUSB
	tristate "IgorPlug-USB IR Receiver"
	depends on USB_ARCH_HAS_HCD
	depends on RC_CORE
	select USB
	help
	   Say Y here if you want to use the IgorPlug-USB IR Receiver by
	   Igor Cesko. This device is included on the Fit-PC2.

	   Note that this device can only record bursts of 36 IR pulses and
	   spaces, which is not enough for the NEC, Sanyo and RC-6 protocol.

	   To compile this driver as a module, choose M here: the module will
	   be called igorplugusb.

config IR_IGUANA
	tristate "IguanaWorks USB IR Transceiver"
	depends on USB_ARCH_HAS_HCD
	depends on RC_CORE
	select USB
	help
	   Say Y here if you want to use the IguanaWorks USB IR Transceiver.
	   Both infrared receive and send are supported. If you want to
	   change the ID or the pin config, use the user space driver from
	   IguanaWorks.

	   Only firmware 0x0205 and later is supported.

	   To compile this driver as a module, choose M here: the module will
	   be called iguanair.

config IR_TTUSBIR
	tristate "TechnoTrend USB IR Receiver"
	depends on USB_ARCH_HAS_HCD
	depends on RC_CORE
	select USB
	select NEW_LEDS
	select LEDS_CLASS
	help
	   Say Y here if you want to use the TechnoTrend USB IR Receiver. The
	   driver can control the led.

	   To compile this driver as a module, choose M here: the module will
	   be called ttusbir.

config IR_RX51
	tristate "Nokia N900 IR transmitter diode"
	depends on (OMAP_DM_TIMER && PWM_OMAP_DMTIMER && ARCH_OMAP2PLUS || COMPILE_TEST) && RC_CORE
	help
	   Say Y or M here if you want to enable support for the IR
	   transmitter diode built in the Nokia N900 (RX51) device.

	   The driver uses omap DM timers for generating the carrier
	   wave and pulses.

# SPDX-License-Identifier: GPL-2.0-only
config IR_IMG
	tristate "ImgTec IR Decoder"
	depends on RC_CORE
	depends on MIPS || COMPILE_TEST
	select IR_IMG_HW if !IR_IMG_RAW
	help
	   Say Y or M here if you want to use the ImgTec infrared decoder
	   functionality found in SoCs such as TZ1090.

config IR_IMG_RAW
	bool "Raw decoder"
	depends on IR_IMG
	help
	   Say Y here to enable the raw mode driver which passes raw IR signal
	   changes to the IR raw decoders for software decoding. This is much
	   less reliable (due to lack of timestamps) and consumes more
	   processing power than using hardware decode, but can be useful for
	   testing, debug, and to make more protocols available.

config IR_IMG_HW
	bool "Hardware decoder"
	depends on IR_IMG
	help
	   Say Y here to enable the hardware decode driver which decodes the IR
	   signals in hardware. This is more reliable, consumes less processing
	   power since only a single interrupt is received for each scancode,
	   and allows an IR scancode to be used as a wake event.

config IR_IMG_NEC
	bool "NEC protocol support"
	depends on IR_IMG_HW
	help
	   Say Y here to enable support for the NEC, extended NEC, and 32-bit
	   NEC protocols in the ImgTec infrared decoder block.

config IR_IMG_JVC
	bool "JVC protocol support"
	depends on IR_IMG_HW
	help
	   Say Y here to enable support for the JVC protocol in the ImgTec
	   infrared decoder block.

config IR_IMG_SONY
	bool "Sony protocol support"
	depends on IR_IMG_HW
	help
	   Say Y here to enable support for the Sony protocol in the ImgTec
	   infrared decoder block.

config IR_IMG_SHARP
	bool "Sharp protocol support"
	depends on IR_IMG_HW
	help
	   Say Y here to enable support for the Sharp protocol in the ImgTec
	   infrared decoder block.

config IR_IMG_SANYO
	bool "Sanyo protocol support"
	depends on IR_IMG_HW
	help
	   Say Y here to enable support for the Sanyo protocol (used by Sanyo,
	   Aiwa, Chinon remotes) in the ImgTec infrared decoder block.

config IR_IMG_RC5
	bool "Philips RC5 protocol support"
	depends on IR_IMG_HW
	help
	   Say Y here to enable support for the RC5 protocol in the ImgTec
	   infrared decoder block.

config IR_IMG_RC6
	bool "Philips RC6 protocol support"
	depends on IR_IMG_HW
	help
	   Say Y here to enable support for the RC6 protocol in the ImgTec
	   infrared decoder block.
	   Note: This version only supports mode 0.

config RC_LOOPBACK
	tristate "Remote Control Loopback Driver"
	depends on RC_CORE
	help
	   Say Y here if you want support for the remote control loopback
	   driver which allows TX data to be sent back as RX data.
	   This is mostly useful for debugging purposes.

	   If you're not sure, select N here.

	   To compile this driver as a module, choose M here: the module will
	   be called rc_loopback.

config IR_GPIO_CIR
	tristate "GPIO IR remote control"
	depends on RC_CORE
	depends on (OF && GPIOLIB) || COMPILE_TEST
	help
	   Say Y if you want to use GPIO based IR Receiver.

	   To compile this driver as a module, choose M here: the module will
	   be called gpio-ir-recv.

config IR_GPIO_TX
	tristate "GPIO IR Bit Banging Transmitter"
	depends on RC_CORE
	depends on LIRC
	depends on (OF && GPIOLIB) || COMPILE_TEST
	help
	   Say Y if you want to a GPIO based IR transmitter. This is a
	   bit banging driver.

	   To compile this driver as a module, choose M here: the module will
	   be called gpio-ir-tx.

config IR_PWM_TX
	tristate "PWM IR transmitter"
	depends on RC_CORE
	depends on LIRC
	depends on PWM
	depends on OF || COMPILE_TEST
	help
	   Say Y if you want to use a PWM based IR transmitter. This is
	   more power efficient than the bit banging gpio driver.

	   To compile this driver as a module, choose M here: the module will
	   be called pwm-ir-tx.

config RC_ST
	tristate "ST remote control receiver"
	depends on RC_CORE
	depends on ARCH_STI || COMPILE_TEST
	help
	   Say Y here if you want support for ST remote control driver
	   which allows both IR and UHF RX.
	   The driver passes raw pulse and space information to the LIRC decoder.

	   If you're not sure, select N here.

config IR_SUNXI
	tristate "SUNXI IR remote control"
	depends on RC_CORE
	depends on ARCH_SUNXI || COMPILE_TEST
	help
	   Say Y if you want to use sunXi internal IR Controller

	   To compile this driver as a module, choose M here: the module will
	   be called sunxi-ir.

config IR_SERIAL
	tristate "Homebrew Serial Port Receiver"
	depends on RC_CORE
	help
	   Say Y if you want to use Homebrew Serial Port Receivers and
	   Transceivers.

	   To compile this driver as a module, choose M here: the module will
	   be called serial-ir.

config IR_SERIAL_TRANSMITTER
	bool "Serial Port Transmitter"
	depends on IR_SERIAL
	help
	   Serial Port Transmitter support

config IR_SIR
	tristate "Built-in SIR IrDA port"
	depends on RC_CORE
	help
	   Say Y if you want to use a IrDA SIR port Transceivers.

	   To compile this driver as a module, choose M here: the module will
	   be called sir-ir.

config IR_TANGO
	tristate "Sigma Designs SMP86xx IR decoder"
	depends on RC_CORE
	depends on ARCH_TANGO || COMPILE_TEST
	help
	   Adds support for the HW IR decoder embedded on Sigma Designs
	   Tango-based systems (SMP86xx, SMP87xx).
	   The HW decoder supports NEC, RC-5, RC-6 IR protocols.
	   When compiled as a module, look for tango-ir.

config RC_XBOX_DVD
	tristate "Xbox DVD Movie Playback Kit"
	depends on RC_CORE
	depends on USB_ARCH_HAS_HCD
	select USB
	help
	   Say Y here if you want to use the Xbox DVD Movie Playback Kit.
	   These are IR remotes with USB receivers for the Original Xbox (2001).

	   To compile this driver as a module, choose M here: the module will be
	   called xbox_remote.

config IR_ZX
	tristate "ZTE ZX IR remote control"
	depends on RC_CORE
	depends on ARCH_ZX || COMPILE_TEST
	help
	   Say Y if you want to use the IR remote control available
	   on ZTE ZX family SoCs.

	   To compile this driver as a module, choose M here: the
	   module will be called zx-irdec.

config IR_TOY
	tristate "Infrared Toy and IR Droid"
	depends on RC_CORE
	depends on USB_ARCH_HAS_HCD
	help
	   Say Y here if you want to use the Infrared Toy or IR Droid, USB
	   versions.

	   To compile this driver as a module, choose M here: the module will be
	   called ir_toy.

endif #RC_DEVICES

endif #RC_CORE
# SPDX-License-Identifier: GPL-2.0-only
config CEC_CORE
	tristate

config CEC_NOTIFIER
	bool

config CEC_PIN
	bool

config MEDIA_CEC_RC
	bool "HDMI CEC RC integration"
	depends on CEC_CORE && RC_CORE
	depends on CEC_CORE=m || RC_CORE=y
	help
	  Pass on CEC remote control messages to the RC framework.

config CEC_PIN_ERROR_INJ
	bool "Enable CEC error injection support"
	depends on CEC_PIN && DEBUG_FS
	help
	  This option enables CEC error injection using debugfs.

menuconfig MEDIA_CEC_SUPPORT
	bool
	prompt "HDMI CEC drivers"
	default y if MEDIA_SUPPORT && !MEDIA_SUPPORT_FILTER
	help
	  Enable support for HDMI CEC (Consumer Electronics Control),
	  which is an optional HDMI feature.

	  Say Y when you have an HDMI receiver, transmitter or a USB CEC
	  adapter that supports HDMI CEC.

if MEDIA_CEC_SUPPORT
# SPDX-License-Identifier: GPL-2.0-only
#
# Platform drivers

# CEC_CROS_EC disabled for insufficient kernel version
config CEC_CROS_EC
	tristate "ChromeOS EC CEC driver"
	depends on CROS_EC
	select CEC_CORE
	select CEC_NOTIFIER
	select CROS_EC_PROTO
	default n
	depends on VIDEO_KERNEL_VERSION
	---help---
	  WARNING! This driver needs at least kernel 9.255.255!  It may not
	  compile or work correctly on your kernel, which is too old.

	  If you say yes here you will get support for the
	  ChromeOS Embedded Controller's CEC.
	  The CEC bus is present in the HDMI connector and enables communication
	  between compatible devices.

config CEC_MESON_AO
	tristate "Amlogic Meson AO CEC driver"
	depends on ARCH_MESON || COMPILE_TEST
	select CEC_CORE
	select CEC_NOTIFIER
	help
	  This is a driver for Amlogic Meson SoCs AO CEC interface. It uses the
	  generic CEC framework interface.
	  CEC bus is present in the HDMI connector and enables communication

config CEC_MESON_G12A_AO
	tristate "Amlogic Meson G12A AO CEC driver"
	depends on ARCH_MESON || COMPILE_TEST
	depends on COMMON_CLK && OF
	select REGMAP
	select REGMAP_MMIO
	select CEC_CORE
	select CEC_NOTIFIER
	help
	  This is a driver for Amlogic Meson G12A SoCs AO CEC interface.
	  This driver if for the new AO-CEC module found in G12A SoCs,
	  usually named AO_CEC_B in documentation.
	  It uses the generic CEC framework interface.
	  CEC bus is present in the HDMI connector and enables communication
	  between compatible devices.

config CEC_GPIO
	tristate "Generic GPIO-based CEC driver"
	depends on PREEMPTION || COMPILE_TEST
	select CEC_CORE
	select CEC_PIN
	select CEC_NOTIFIER
	select GPIOLIB
	help
	  This is a generic GPIO-based CEC driver.
	  The CEC bus is present in the HDMI connector and enables communication
	  between compatible devices.

config CEC_SAMSUNG_S5P
	tristate "Samsung S5P CEC driver"
	depends on ARCH_EXYNOS || COMPILE_TEST
	select CEC_CORE
	select CEC_NOTIFIER
	help
	  This is a driver for Samsung S5P HDMI CEC interface. It uses the
	  generic CEC framework interface.
	  CEC bus is present in the HDMI connector and enables communication
	  between compatible devices.

config CEC_STI
	tristate "STMicroelectronics STiH4xx HDMI CEC driver"
	depends on ARCH_STI || COMPILE_TEST
	select CEC_CORE
	select CEC_NOTIFIER
	help
	  This is a driver for STIH4xx HDMI CEC interface. It uses the
	  generic CEC framework interface.
	  CEC bus is present in the HDMI connector and enables communication
	  between compatible devices.

config CEC_STM32
	tristate "STMicroelectronics STM32 HDMI CEC driver"
	depends on ARCH_STM32 || COMPILE_TEST
	select REGMAP
	select REGMAP_MMIO
	select CEC_CORE
	help
	  This is a driver for STM32 interface. It uses the
	  generic CEC framework interface.
	  CEC bus is present in the HDMI connector and enables communication
	  between compatible devices.

config CEC_TEGRA
	tristate "Tegra HDMI CEC driver"
	depends on ARCH_TEGRA || COMPILE_TEST
	select CEC_CORE
	select CEC_NOTIFIER
	help
	  This is a driver for the Tegra HDMI CEC interface. It uses the
	  generic CEC framework interface.
	  The CEC bus is present in the HDMI connector and enables communication
	  between compatible devices.

config CEC_SECO
	tristate "SECO Boards HDMI CEC driver"
	depends on (X86 || IA64) || COMPILE_TEST
	depends on PCI && DMI
	select CEC_CORE
	select CEC_NOTIFIER
	help
	  This is a driver for SECO Boards integrated CEC interface.
	  Selecting it will enable support for this device.
	  CEC bus is present in the HDMI connector and enables communication
	  between compatible devices.

config CEC_SECO_RC
	bool "SECO Boards IR RC5 support"
	depends on CEC_SECO
	depends on RC_CORE=y || RC_CORE = CEC_SECO
	help
	  If you say yes here you will get support for the
	  SECO Boards Consumer-IR in seco-cec driver.
	  The embedded controller supports RC5 protocol only, default mapping
	  is set to rc-hauppauge.
# SPDX-License-Identifier: GPL-2.0-only
#
# USB drivers

if USB_SUPPORT && TTY
# SPDX-License-Identifier: GPL-2.0-only
config USB_PULSE8_CEC
	tristate "Pulse Eight HDMI CEC"
	select CEC_CORE
	select USB
	select USB_ACM
	select SERIO
	select SERIO_SERPORT
	help
	  This is a cec driver for the Pulse Eight HDMI CEC device.

	  To compile this driver as a module, choose M here: the
	  module will be called pulse8-cec.
# SPDX-License-Identifier: GPL-2.0-only
config USB_RAINSHADOW_CEC
	tristate "RainShadow Tech HDMI CEC"
	select CEC_CORE
	select USB
	select USB_ACM
	select SERIO
	select SERIO_SERPORT
	help
	  This is a cec driver for the RainShadow Tech HDMI CEC device.

	  To compile this driver as a module, choose M here: the
	  module will be called rainshadow-cec.
endif
endif

menuconfig MEDIA_SUPPORT
	tristate "Multimedia support"
	depends on HAS_IOMEM
	help
	  If you want to use media devices, including Webcams, Video grabber
	  devices and/or TV devices, V4L2 codecs, etc, enable this option
	  and other options below.

	  Additional info and docs are available on the web at
	  <https://linuxtv.org>

if MEDIA_SUPPORT

config MEDIA_SUPPORT_FILTER
	bool "Filter media drivers"
	depends on MEDIA_SUPPORT
	default y if !EMBEDDED && !EXPERT
	help
	   Configuring the media subsystem can be complex, as there are
	   hundreds of drivers and other config options.

	   This menu offers option that will help the Kernel's config
	   system to hide drivers that are out of the scope of the
	   user needs, and disabling core support for unused APIs.

	   If not selected, all non-optional media core functionality
	   needed to support media drivers will be enabled. Also, all
	   media device drivers should be shown.

config MEDIA_SUBDRV_AUTOSELECT
	bool "Autoselect ancillary drivers (tuners, sensors, i2c, spi, frontends)"
	depends on HAS_IOMEM
	select I2C
	select I2C_MUX
	default y if MEDIA_SUPPORT_FILTER
	help
	  By default, a media driver auto-selects all possible ancillary
	  devices such as tuners, sensors, video encoders/decoders and
	  frontends, that are used by any of the supported devices.

	  This is generally the right thing to do, except when there
	  are strict constraints with regards to the kernel size,
	  like on embedded systems.

	  Use this option with care, as deselecting ancillary drivers which
	  are, in fact, necessary will result in the lack of the needed
	  functionality for your device (it may not tune or may not have
	  the needed demodulators).

	  If unsure say Y.

menu "Media device types"

#
# Multimedia support - automatically enable V4L2 and DVB core
#
config MEDIA_CAMERA_SUPPORT
	bool
	prompt "Cameras and video grabbers" if MEDIA_SUPPORT_FILTER
	default y if !MEDIA_SUPPORT_FILTER
	help
	  Enable support for webcams and video grabbers.

	  Say Y when you have a webcam or a video capture grabber board.

config MEDIA_ANALOG_TV_SUPPORT
	bool
	prompt "Analog TV" if MEDIA_SUPPORT_FILTER
	default y if !MEDIA_SUPPORT_FILTER
	help
	  Enable analog TV support.

	  Say Y when you have a TV board with analog support or with a
	  hybrid analog/digital TV chipset.

	  Note: There are several DVB cards that are based on chips that
		support both analog and digital TV. Disabling this option
		will disable support for them.

config MEDIA_DIGITAL_TV_SUPPORT
	bool
	prompt "Digital TV" if MEDIA_SUPPORT_FILTER
	default y if !MEDIA_SUPPORT_FILTER
	help
	  Enable digital TV support.

	  Say Y when you have a board with digital support or a board with
	  hybrid digital TV and analog TV.

config MEDIA_RADIO_SUPPORT
	bool
	prompt "AM/FM radio receivers/transmitters" if MEDIA_SUPPORT_FILTER
	default y if !MEDIA_SUPPORT_FILTER
	help
	  Enable AM/FM radio support.

	  Additional info and docs are available on the web at
	  <https://linuxtv.org>

	  Say Y when you have a board with radio support.

	  Note: There are several TV cards that are based on chips that
		support radio reception. Disabling this option will
		disable support for them.

config MEDIA_SDR_SUPPORT
	bool
	prompt "Software defined radio" if MEDIA_SUPPORT_FILTER
	default y if !MEDIA_SUPPORT_FILTER
	help
	  Enable software defined radio support.

	  Say Y when you have a software defined radio device.

config MEDIA_PLATFORM_SUPPORT
	bool
	prompt "Platform-specific devices" if MEDIA_SUPPORT_FILTER
	default y if !MEDIA_SUPPORT_FILTER
	help
	  Enable support for complex cameras, codecs, and other hardware
	  that are integrated at the CPU, GPU or on Image Signalling Processor
	  and don't use PCI, USB or Firewire buses.

	  This is found on Embedded hardware (SoC), on V4L2 codecs and
	  on some GPU and newer CPU chipsets.

	  Say Y when you want to be able so see such devices.

config MEDIA_TEST_SUPPORT
	bool
	prompt "Test drivers" if MEDIA_SUPPORT_FILTER
	default y if !MEDIA_SUPPORT_FILTER
	help
	  Those drivers should not be used on production Kernels, but
	  can be useful on debug ones. It enables several dummy drivers
	  that simulate a real hardware. Very useful to test userspace
	  applications and to validate if the subsystem core is doesn't
	  have regressions.

	  Say Y if you want to use some virtual test driver.

	  In case of doubts, say N.
	  Say Y when you have a software defined radio device.
endmenu # media device types


menu "Media core support"
	visible if !MEDIA_SUPPORT_FILTER

config VIDEO_DEV
	tristate "Video4Linux core"
	default MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_RADIO_SUPPORT || MEDIA_SDR_SUPPORT || MEDIA_PLATFORM_SUPPORT || MEDIA_TEST_SUPPORT
	help
	  Enables the V4L2 API, used by cameras, analog TV, video grabbers,
	  radio devices and by some input devices.

config MEDIA_CONTROLLER
	bool "Media Controller API"
	default MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_PLATFORM_SUPPORT
	help
	  Enable the media controller API used to query media devices internal
	  topology and configure it dynamically.

	  This API is mostly used by camera interfaces in embedded platforms.

#
# DVB Core
#	Only enables if one of DTV is selected
#

config DVB_CORE
	tristate
	depends on MEDIA_DIGITAL_TV_SUPPORT
	depends on (I2C || I2C=n)
	default MEDIA_DIGITAL_TV_SUPPORT
	select CRC32
	help
	  Enables the DVB API, used by Digital TV devices. Supports several
	  standards, including DVB, ATSC, ISDB and CMDB.

endmenu # Media core support

#
# Extra per-media API core functionality

menu "Video4Linux options"
	visible if VIDEO_DEV

# SPDX-License-Identifier: GPL-2.0-only
#
# Generic video config states
#

# Enable the V4L2 core and API
config VIDEO_V4L2
	tristate
	depends on (I2C || I2C=n) && VIDEO_DEV
	select RATIONAL
	select VIDEOBUF2_V4L2 if VIDEOBUF2_CORE
	default (I2C || I2C=n) && VIDEO_DEV

config VIDEO_V4L2_I2C
	bool
	depends on I2C && VIDEO_V4L2
	default n

config VIDEO_V4L2_SUBDEV_API
	bool "V4L2 sub-device userspace API"
	depends on VIDEO_DEV && MEDIA_CONTROLLER
	help
	  Enables the V4L2 sub-device pad-level userspace API used to configure
	  video format, size and frame rate between hardware blocks.

	  This API is mostly used by camera interfaces in embedded platforms.

config VIDEO_ADV_DEBUG
	bool "Enable advanced debug functionality on V4L2 drivers"
	help
	  Say Y here to enable advanced debugging functionality on some
	  V4L devices.
	  In doubt, say N.

config VIDEO_FIXED_MINOR_RANGES
	bool "Enable old-style fixed minor ranges on drivers/video devices"
	help
	  Say Y here to enable the old-style fixed-range minor assignments.
	  Only useful if you rely on the old behavior and use mknod instead of udev.

	  When in doubt, say N.

# Used by drivers that need tuner.ko
config VIDEO_TUNER
	tristate

# Used by drivers that need v4l2-jpeg.ko
config V4L2_JPEG_HELPER
	tristate

# Used by drivers that need v4l2-h264.ko
# V4L2_H264 disabled for insufficient kernel version
config V4L2_H264
	tristate

# Used by drivers that need v4l2-mem2mem.ko
config V4L2_MEM2MEM_DEV
	tristate
	depends on VIDEOBUF2_CORE

# Used by LED subsystem flash drivers
config V4L2_FLASH_LED_CLASS
	tristate "V4L2 flash API for LED flash class devices"
	depends on VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API
	depends on LEDS_CLASS_FLASH
	help
	  Say Y here to enable V4L2 flash API support for LED flash
	  class drivers.

	  When in doubt, say N.

config V4L2_FWNODE
	tristate

# Used by drivers that need Videobuf modules
config VIDEOBUF_GEN
	tristate

config VIDEOBUF_DMA_SG
	tristate
	select VIDEOBUF_GEN

config VIDEOBUF_VMALLOC
	tristate
	select VIDEOBUF_GEN

config VIDEOBUF_DMA_CONTIG
	tristate
	select VIDEOBUF_GEN
endmenu

menu "Media controller options"
	visible if MEDIA_CONTROLLER

# SPDX-License-Identifier: GPL-2.0

#
# Media controller
#

config MEDIA_CONTROLLER_DVB
	bool "Enable Media controller for DVB (EXPERIMENTAL)"
	depends on MEDIA_CONTROLLER && DVB_CORE
	help
	  Enable the media controller API support for DVB.

	  This is currently experimental.

config MEDIA_CONTROLLER_REQUEST_API
	bool
	depends on MEDIA_CONTROLLER
	help
	  DO NOT ENABLE THIS OPTION UNLESS YOU KNOW WHAT YOU'RE DOING.

	  This option enables the Request API for the Media controller and V4L2
	  interfaces. It is currently needed by a few stateless codec drivers.

	  There is currently no intention to provide API or ABI stability for
	  this new API as of yet.

comment "Please notice that the enabled Media controller Request API is EXPERIMENTAL"
	depends on MEDIA_CONTROLLER_REQUEST_API
endmenu

menu "Digital TV options"
	visible if DVB_CORE

# SPDX-License-Identifier: GPL-2.0-only
#
# DVB device configuration
#

config DVB_MMAP
	bool "Enable DVB memory-mapped API (EXPERIMENTAL)"
	depends on DVB_CORE
	depends on VIDEO_V4L2=y || VIDEO_V4L2=DVB_CORE
	select VIDEOBUF2_VMALLOC
	help
	  This option enables DVB experimental memory-mapped API, which
	  reduces the number of context switches to read DVB buffers, as
	  the buffers can use mmap() syscalls.

	  Support for it is experimental. Use with care. If unsure,
	  say N.

config DVB_NET
	bool "DVB Network Support"
	default (NET && INET)
	depends on NET && INET && DVB_CORE
	help
	  This option enables DVB Network Support which is a part of the DVB
	  standard. It is used, for example, by automatic firmware updates used
	  on Set-Top-Boxes. It can also be used to access the Internet via the
	  DVB card, if the network provider supports it.

	  You may want to disable the network support on embedded devices. If
	  unsure say Y.

config DVB_MAX_ADAPTERS
	int "maximum number of DVB/ATSC adapters"
	depends on DVB_CORE
	default 16
	range 1 255
	help
	  Maximum number of DVB/ATSC adapters. Increasing this number
	  increases the memory consumption of the DVB subsystem even
	  if a much lower number of DVB/ATSC adapters is present.
	  Only values in the range 4-32 are tested.

	  If you are unsure about this, use the default value 16

config DVB_DYNAMIC_MINORS
	bool "Dynamic DVB minor allocation"
	depends on DVB_CORE
	default y
	help
	  If you say Y here, the DVB subsystem will use dynamic minor
	  allocation for any device that uses the DVB major number.
	  This means that you can have more than 4 of a single type
	  of device (like demuxes and frontends) per adapter, but udev
	  will be required to manage the device nodes.

	  If you are unsure about this, say N here.

config DVB_DEMUX_SECTION_LOSS_LOG
	bool "Enable DVB demux section packet loss log"
	depends on DVB_CORE
	help
	  Enable extra log messages meant to detect packet loss
	  inside the Kernel.

	  Should not be enabled on normal cases, as logs can
	  be very verbose.

	  If you are unsure about this, say N here.

config DVB_ULE_DEBUG
	bool "Enable DVB net ULE packet debug messages"
	depends on DVB_CORE
	help
	  Enable extra log messages meant to detect problems while
	  handling DVB network ULE packet loss inside the Kernel.

	  Should not be enabled on normal cases, as logs can
	  be very verbose.

	  If you are unsure about this, say N here.
endmenu

menu "Media drivers"

comment "Drivers filtered as selected at 'Filter media drivers'"
	depends on MEDIA_SUPPORT_FILTER

# SPDX-License-Identifier: GPL-2.0-only

# This Kconfig option is also used by the legacy av7110 driver
config TTPCI_EEPROM
	tristate
	depends on I2C

if USB && MEDIA_SUPPORT

menuconfig MEDIA_USB_SUPPORT
	bool "Media USB Adapters"
	help
	  Enable media drivers for USB bus.
	  If you have such devices, say Y.

if MEDIA_USB_SUPPORT

if MEDIA_CAMERA_SUPPORT
	comment "Webcam devices"
# SPDX-License-Identifier: GPL-2.0-only
config USB_VIDEO_CLASS
	tristate "USB Video Class (UVC)"
	depends on VIDEO_V4L2
	select VIDEOBUF2_VMALLOC
	help
	  Support for the USB Video Class (UVC).  Currently only video
	  input devices, such as webcams, are supported.

	  For more information see: <http://linux-uvc.berlios.de/>

config USB_VIDEO_CLASS_INPUT_EVDEV
	bool "UVC input events device support"
	default y
	depends on USB_VIDEO_CLASS
	depends on USB_VIDEO_CLASS=INPUT || INPUT=y
	help
	  This option makes USB Video Class devices register an input device
	  to report button events.

	  If you are in doubt, say Y.
# SPDX-License-Identifier: GPL-2.0-only
menuconfig USB_GSPCA
	tristate "GSPCA based webcams"
	depends on VIDEO_V4L2
	depends on INPUT || INPUT=n
	select VIDEOBUF2_VMALLOC
	default m
	help
	  Say Y here if you want to enable selecting webcams based
	  on the GSPCA framework.

	  See <file:Documentation/admin-guide/media/gspca-cardlist.rst> for more info.

	  This driver uses the Video For Linux API. You must say Y or M to
	  "Video For Linux" to use this driver.

	  To compile this driver as modules, choose M here: the
	  module will be called gspca_main.


if USB_GSPCA && VIDEO_V4L2

# SPDX-License-Identifier: GPL-2.0-only
config USB_M5602
	tristate "ALi USB m5602 Camera Driver"
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the
	  ALi m5602 connected to various image sensors.

	  To compile this driver as a module, choose M here: the
	  module will be called gspca_m5602.
# SPDX-License-Identifier: GPL-2.0-only
config USB_STV06XX
	tristate "STV06XX USB Camera Driver"
	depends on USB_GSPCA
	help
	  Say Y here if you want support for cameras based on
	  the ST STV06XX chip.

	  To compile this driver as a module, choose M here: the
	  module will be called gspca_stv06xx.
# SPDX-License-Identifier: GPL-2.0-only
config USB_GL860
	tristate "GL860 USB Camera Driver"
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the GL860 chip.

	  To compile this driver as a module, choose M here: the
	  module will be called gspca_gl860.

config USB_GSPCA_BENQ
	tristate "Benq USB Camera Driver"
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for the Benq DC E300 camera.

	  To compile this driver as a module, choose M here: the
	  module will be called gspca_benq.

config USB_GSPCA_CONEX
	tristate "Conexant Camera Driver"
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the Conexant chip.

	  To compile this driver as a module, choose M here: the
	  module will be called gspca_conex.

config USB_GSPCA_CPIA1
	tristate "cpia CPiA (version 1) Camera Driver"
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for USB cameras based on the cpia
	  CPiA chip. Note that you need at least version 0.6.4 of libv4l for
	  applications to understand the videoformat generated by this driver.

	  To compile this driver as a module, choose M here: the
	  module will be called gspca_cpia1.

config USB_GSPCA_DTCS033
	tristate "DTCS033 (Scopium) USB Astro-Camera Driver"
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for the Scopium camera
	  for planetary astrophotography.

	  To compile this driver as a module, choose M here: the
	  module will be called gspca_dtcs033.

config USB_GSPCA_ETOMS
	tristate "Etoms USB Camera Driver"
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the Etoms chip.

	  To compile this driver as a module, choose M here: the
	  module will be called gspca_etoms.

config USB_GSPCA_FINEPIX
	tristate "Fujifilm FinePix USB V4L2 driver"
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the FinePix chip.

	  To compile this driver as a module, choose M here: the
	  module will be called gspca_finepix.

config USB_GSPCA_JEILINJ
	tristate "Jeilin JPEG USB V4L2 driver"
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on this Jeilin chip.

	  To compile this driver as a module, choose M here: the
	  module will be called gspca_jeilinj.

config USB_GSPCA_JL2005BCD
	tristate "JL2005B/C/D USB V4L2 driver"
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based the
	  JL2005B, JL2005C, or JL2005D chip.

	  To compile this driver as a module, choose M here: the
	  module will be called gspca_jl2005bcd.

config USB_GSPCA_KINECT
	tristate "Kinect sensor device USB Camera Driver"
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for the Microsoft Kinect sensor device.

	  To compile this driver as a module, choose M here: the
	  module will be called gspca_kinect.

config USB_GSPCA_KONICA
	tristate "Konica USB Camera V4L2 driver"
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the Konica chip.

	  To compile this driver as a module, choose M here: the
	  module will be called gspca_konica.

config USB_GSPCA_MARS
	tristate "Mars USB Camera Driver"
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the Mars chip.

	  To compile this driver as a module, choose M here: the
	  module will be called gspca_mars.

config USB_GSPCA_MR97310A
	tristate "Mars-Semi MR97310A USB Camera Driver"
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the MR97310A chip.

	  To compile this driver as a module, choose M here: the
	  module will be called gspca_mr97310a.

config USB_GSPCA_NW80X
	tristate "Divio based (NW80x) USB Camera Driver"
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the NW80x chips.

	  To compile this driver as a module, choose M here: the
	  module will be called gspca_nw80x.

config USB_GSPCA_OV519
	tristate "OV51x / OVFX2 / W996xCF USB Camera Driver"
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on one of these:
	  OV511(+), OV518(+), OV519, OVFX2, W9967CF, W9968CF

	  To compile this driver as a module, choose M here: the
	  module will be called gspca_ov519.

config USB_GSPCA_OV534
	tristate "OV534 OV772x USB Camera Driver"
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the OV534 chip
	  and sensor OV772x (e.g. Sony Playstation EYE)

	  To compile this driver as a module, choose M here: the
	  module will be called gspca_ov534.

config USB_GSPCA_OV534_9
	tristate "OV534 OV965x USB Camera Driver"
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the OV534 chip
	  and sensor OV965x (e.g. Hercules Dualpix)

	  To compile this driver as a module, choose M here: the
	  module will be called gspca_ov534_9.

config USB_GSPCA_PAC207
	tristate "Pixart PAC207 USB Camera Driver"
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the PAC207 chip.

	  To compile this driver as a module, choose M here: the
	  module will be called gspca_pac207.

config USB_GSPCA_PAC7302
	tristate "Pixart PAC7302 USB Camera Driver"
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the PAC7302 chip.

	  To compile this driver as a module, choose M here: the
	  module will be called gspca_pac7302.

config USB_GSPCA_PAC7311
	tristate "Pixart PAC7311 USB Camera Driver"
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the PAC7311 chip.

	  To compile this driver as a module, choose M here: the
	  module will be called gspca_pac7311.

config USB_GSPCA_SE401
	tristate "SE401 USB Camera Driver"
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the
	  Endpoints (formerly known as AOX) se401 chip.

	  To compile this driver as a module, choose M here: the
	  module will be called gspca_se401.

config USB_GSPCA_SN9C2028
	tristate "SONIX Dual-Mode USB Camera Driver"
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want streaming support for Sonix SN9C2028 cameras.
	  These are supported as stillcams in libgphoto2/camlibs/sonix.

	  To compile this driver as a module, choose M here: the
	  module will be called gspca_sn9c2028.

config USB_GSPCA_SN9C20X
	tristate "SN9C20X USB Camera Driver"
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the
	  sn9c20x chips (SN9C201 and SN9C202).

	  To compile this driver as a module, choose M here: the
	  module will be called gspca_sn9c20x.

config USB_GSPCA_SONIXB
	tristate "SONIX Bayer USB Camera Driver"
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the Sonix
	  chips with Bayer format (SN9C101, SN9C102 and SN9C103).

	  To compile this driver as a module, choose M here: the
	  module will be called gspca_sonixb.

config USB_GSPCA_SONIXJ
	tristate "SONIX JPEG USB Camera Driver"
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the Sonix
	  chips with JPEG format (SN9C102P, SN9C105 and >= SN9C110).

	  To compile this driver as a module, choose M here: the
	  module will be called gspca_sonixj

config USB_GSPCA_SPCA500
	tristate "SPCA500 USB Camera Driver"
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the SPCA500 chip.

	  To compile this driver as a module, choose M here: the
	  module will be called gspca_spca500.

config USB_GSPCA_SPCA501
	tristate "SPCA501 USB Camera Driver"
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the SPCA501 chip.

	  To compile this driver as a module, choose M here: the
	  module will be called gspca_spca501.

config USB_GSPCA_SPCA505
	tristate "SPCA505 USB Camera Driver"
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the SPCA505 chip.

	  To compile this driver as a module, choose M here: the
	  module will be called gspca_spca505.

config USB_GSPCA_SPCA506
	tristate "SPCA506 USB Camera Driver"
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the SPCA506 chip.

	  To compile this driver as a module, choose M here: the
	  module will be called gspca_spca506.

config USB_GSPCA_SPCA508
	tristate "SPCA508 USB Camera Driver"
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the SPCA508 chip.

	  To compile this driver as a module, choose M here: the
	  module will be called gspca_spca508.

config USB_GSPCA_SPCA561
	tristate "SPCA561 USB Camera Driver"
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the SPCA561 chip.

	  To compile this driver as a module, choose M here: the
	  module will be called gspca_spca561.

config USB_GSPCA_SPCA1528
	tristate "SPCA1528 USB Camera Driver"
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the SPCA1528 chip.

	  To compile this driver as a module, choose M here: the
	  module will be called gspca_spca1528.

config USB_GSPCA_SQ905
	tristate "SQ Technologies SQ905 based USB Camera Driver"
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the SQ905 chip.

	  To compile this driver as a module, choose M here: the
	  module will be called gspca_sq905.

config USB_GSPCA_SQ905C
	tristate "SQ Technologies SQ905C based USB Camera Driver"
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the SQ905C chip.

	  To compile this driver as a module, choose M here: the
	  module will be called gspca_sq905c.

config USB_GSPCA_SQ930X
	tristate "SQ Technologies SQ930X based USB Camera Driver"
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the SQ930X chip.

	  To compile this driver as a module, choose M here: the
	  module will be called gspca_sq930x.

config USB_GSPCA_STK014
	tristate "Syntek DV4000 (STK014) USB Camera Driver"
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the STK014 chip.

	  To compile this driver as a module, choose M here: the
	  module will be called gspca_stk014.

config USB_GSPCA_STK1135
	tristate "Syntek STK1135 USB Camera Driver"
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the STK1135 chip.

	  To compile this driver as a module, choose M here: the
	  module will be called gspca_stk1135.

config USB_GSPCA_STV0680
	tristate "STV0680 USB Camera Driver"
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the STV0680 chip.

	  To compile this driver as a module, choose M here: the
	  module will be called gspca_stv0680.

config USB_GSPCA_SUNPLUS
	tristate "SUNPLUS USB Camera Driver"
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the Sunplus
	  SPCA504(abc) SPCA533 SPCA536 chips.

	  To compile this driver as a module, choose M here: the
	  module will be called gspca_sunplus.

config USB_GSPCA_T613
	tristate "T613 (JPEG Compliance) USB Camera Driver"
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the T613 chip.

	  To compile this driver as a module, choose M here: the
	  module will be called gspca_t613.

config USB_GSPCA_TOPRO
	tristate "TOPRO USB Camera Driver"
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the
	  TP6800 and TP6810 Topro chips.

	  To compile this driver as a module, choose M here: the
	  module will be called gspca_topro.

config USB_GSPCA_TOUPTEK
	tristate "Touptek USB Camera Driver"
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the ToupTek UCMOS
	  / AmScope MU series camera.

	  To compile this driver as a module, choose M here: the
	  module will be called gspca_touptek.

config USB_GSPCA_TV8532
	tristate "TV8532 USB Camera Driver"
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the TV8531 chip.

	  To compile this driver as a module, choose M here: the
	  module will be called gspca_tv8532.

config USB_GSPCA_VC032X
	tristate "VC032X USB Camera Driver"
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the VC032X chip.

	  To compile this driver as a module, choose M here: the
	  module will be called gspca_vc032x.

config USB_GSPCA_VICAM
	tristate "ViCam USB Camera Driver"
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for the 3com homeconnect camera
	  (vicam).

	  To compile this driver as a module, choose M here: the
	  module will be called gspca_vicam.

config USB_GSPCA_XIRLINK_CIT
	tristate "Xirlink C-It USB Camera Driver"
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for Xirlink C-It bases cameras.

	  To compile this driver as a module, choose M here: the
	  module will be called gspca_xirlink_cit.

config USB_GSPCA_ZC3XX
	tristate "ZC3XX USB Camera Driver"
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the ZC3XX chip.

	  To compile this driver as a module, choose M here: the
	  module will be called gspca_zc3xx.

endif
# SPDX-License-Identifier: GPL-2.0-only
config USB_PWC
	tristate "USB Philips Cameras"
	depends on VIDEO_V4L2
	select VIDEOBUF2_VMALLOC
	help
	  Say Y or M here if you want to use one of these Philips & OEM
	  webcams:
	   * Philips PCA645, PCA646
	   * Philips PCVC675, PCVC680, PCVC690
	   * Philips PCVC720/40, PCVC730, PCVC740, PCVC750
	   * Philips SPC900NC
	   * Askey VC010
	   * Logitech QuickCam Pro 3000, 4000, 'Zoom', 'Notebook Pro'
	     and 'Orbit'/'Sphere'
	   * Samsung MPC-C10, MPC-C30
	   * Creative Webcam 5, Pro Ex
	   * SOTEC Afina Eye
	   * Visionite VCS-UC300, VCS-UM100

	  The PCA635, PCVC665 and PCVC720/20 are not supported by this driver
	  and never will be, but the 665 and 720/20 are supported by other
	  drivers.

	  Some newer logitech webcams are not handled by this driver but by the
	  Usb Video Class driver (linux-uvc).

	  The built-in microphone is enabled by selecting USB Audio support.

	  To compile this driver as a module, choose M here: the
	  module will be called pwc.

config USB_PWC_DEBUG
	bool "USB Philips Cameras verbose debug"
	depends on USB_PWC
	help
	  Say Y here in order to have the pwc driver generate verbose debugging
	  messages.
	  A special module options 'trace' is used to control the verbosity.

config USB_PWC_INPUT_EVDEV
	bool "USB Philips Cameras input events device support"
	default y
	depends on USB_PWC && (USB_PWC=INPUT || INPUT=y)
	help
	  This option makes USB Philips cameras register the snapshot button as
	  an input device to report button events.

	  If you are in doubt, say Y.
# SPDX-License-Identifier: GPL-2.0-only
config VIDEO_CPIA2
	tristate "CPiA2 Video For Linux"
	depends on VIDEO_DEV && USB && VIDEO_V4L2
	help
	  This is the video4linux driver for cameras based on Vision's CPiA2
	  (Colour Processor Interface ASIC), such as the Digital Blue QX5
	  Microscope. If you have one of these cameras, say Y here

	  This driver is also available as a module (cpia2).
# SPDX-License-Identifier: GPL-2.0-only
config USB_ZR364XX
	tristate "USB ZR364XX Camera support"
	depends on VIDEO_V4L2
	select VIDEOBUF_GEN
	select VIDEOBUF_VMALLOC
	help
	  Say Y here if you want to connect this type of camera to your
	  computer's USB port.
	  See <file:Documentation/admin-guide/media/zr364xx.rst> for more info
	  and list of supported cameras.

	  To compile this driver as a module, choose M here: the
	  module will be called zr364xx.

# SPDX-License-Identifier: GPL-2.0-only
config USB_STKWEBCAM
	tristate "USB Syntek DC1125 Camera support"
	depends on VIDEO_V4L2
	help
	  Say Y here if you want to use this type of camera.
	  Supported devices are typically found in some Asus laptops,
	  with USB id 174f:a311 and 05e1:0501. Other Syntek cameras
	  may be supported by the stk11xx driver, from which this is
	  derived, see <http://sourceforge.net/projects/syntekdriver/>

	  To compile this driver as a module, choose M here: the
	  module will be called stkwebcam.

# SPDX-License-Identifier: GPL-2.0-only
config USB_S2255
	tristate "USB Sensoray 2255 video capture device"
	depends on VIDEO_V4L2
	select VIDEOBUF2_VMALLOC
	help
	  Say Y here if you want support for the Sensoray 2255 USB device.
	  This driver can be compiled as a module, called s2255drv.

# SPDX-License-Identifier: GPL-2.0-only
config VIDEO_USBTV
	tristate "USBTV007 video capture support"
	depends on VIDEO_V4L2 && SND
	select SND_PCM
	select VIDEOBUF2_VMALLOC

	help
	  This is a video4linux2 driver for USBTV007 based video capture devices.

	  To compile this driver as a module, choose M here: the
	  module will be called usbtv
endif

if MEDIA_ANALOG_TV_SUPPORT
	comment "Analog TV USB devices"
# SPDX-License-Identifier: GPL-2.0-only
config VIDEO_PVRUSB2
	tristate "Hauppauge WinTV-PVR USB2 support"
	depends on VIDEO_V4L2 && I2C
	select VIDEO_TUNER
	select VIDEO_TVEEPROM
	select VIDEO_CX2341X
	select VIDEO_SAA711X
	select VIDEO_CX25840
	select VIDEO_MSP3400
	select VIDEO_WM8775
	select VIDEO_CS53L32A
	help
	  This is a video4linux driver for Conexant 23416 based
	  usb2 personal video recorder devices.

	  To compile this driver as a module, choose M here: the
	  module will be called pvrusb2

config VIDEO_PVRUSB2_SYSFS
	bool "pvrusb2 sysfs support"
	default y
	depends on VIDEO_PVRUSB2 && SYSFS
	help
	  This option enables the operation of a sysfs based
	  interface for query and control of the pvrusb2 driver.

	  This is not generally needed for v4l applications,
	  although certain applications are optimized to take
	  advantage of this feature.

	  If you are in doubt, say Y.

	  Note: This feature is experimental and subject to change.

config VIDEO_PVRUSB2_DVB
	bool "pvrusb2 ATSC/DVB support"
	default y
	depends on VIDEO_PVRUSB2 && DVB_CORE
	select DVB_LGDT330X if MEDIA_SUBDRV_AUTOSELECT
	select DVB_S5H1409 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_S5H1411 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TDA10048 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_LGDT3306A if MEDIA_SUBDRV_AUTOSELECT
	select DVB_SI2168 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_TDA18271 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_SIMPLE if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_TDA8290 if MEDIA_SUBDRV_AUTOSELECT
	help
	  This option enables a DVB interface for the pvrusb2 driver.
	  If your device does not support digital television, this
	  feature will have no affect on the driver's operation.

	  If you are in doubt, say Y.

config VIDEO_PVRUSB2_DEBUGIFC
	bool "pvrusb2 debug interface"
	depends on VIDEO_PVRUSB2_SYSFS
	help
	  This option enables the inclusion of a debug interface
	  in the pvrusb2 driver, hosted through sysfs.

	  You do not need to select this option unless you plan
	  on debugging the driver or performing a manual firmware
	  extraction.

	  If you are in doubt, say N.
# SPDX-License-Identifier: GPL-2.0-only

config VIDEO_HDPVR
	tristate "Hauppauge HD PVR support"
	depends on VIDEO_DEV && VIDEO_V4L2
	help
	  This is a video4linux driver for Hauppauge's HD PVR USB device.

	  To compile this driver as a module, choose M here: the
	  module will be called hdpvr

# SPDX-License-Identifier: GPL-2.0-only
config VIDEO_STK1160_COMMON
	tristate "STK1160 USB video capture support"
	depends on VIDEO_DEV && I2C

	help
	  This is a video4linux driver for STK1160 based video capture devices.

	  To compile this driver as a module, choose M here: the
	  module will be called stk1160.

	  This driver only provides support for video capture. For audio
	  capture, you need to select the snd-usb-audio driver (i.e.
	  CONFIG_SND_USB_AUDIO).

config VIDEO_STK1160
	tristate
	depends on VIDEO_STK1160_COMMON
	default y
	select VIDEOBUF2_VMALLOC
	select VIDEO_SAA711X
# SPDX-License-Identifier: GPL-2.0-only
config VIDEO_GO7007
	tristate "WIS GO7007 MPEG encoder support"
	depends on VIDEO_DEV && I2C
	depends on SND && USB
	select VIDEOBUF2_VMALLOC
	select VIDEO_TUNER
	select CYPRESS_FIRMWARE
	select SND_PCM
	select VIDEO_SONY_BTF_MPX if MEDIA_SUBDRV_AUTOSELECT
	select VIDEO_SAA711X if MEDIA_SUBDRV_AUTOSELECT
	select VIDEO_TW2804 if MEDIA_SUBDRV_AUTOSELECT
	select VIDEO_TW9903 if MEDIA_SUBDRV_AUTOSELECT
	select VIDEO_TW9906 if MEDIA_SUBDRV_AUTOSELECT
	select VIDEO_OV7640 if MEDIA_SUBDRV_AUTOSELECT && MEDIA_CAMERA_SUPPORT
	select VIDEO_UDA1342 if MEDIA_SUBDRV_AUTOSELECT
	help
	  This is a video4linux driver for the WIS GO7007 MPEG
	  encoder chip.

	  To compile this driver as a module, choose M here: the
	  module will be called go7007.

config VIDEO_GO7007_USB
	tristate "WIS GO7007 USB support"
	depends on VIDEO_GO7007 && USB
	help
	  This is a video4linux driver for the WIS GO7007 MPEG
	  encoder chip over USB.

	  To compile this driver as a module, choose M here: the
	  module will be called go7007-usb.

config VIDEO_GO7007_LOADER
	tristate "WIS GO7007 Loader support"
	depends on VIDEO_GO7007
	default y
	help
	  This is a go7007 firmware loader driver for the WIS GO7007
	  MPEG encoder chip over USB.

	  To compile this driver as a module, choose M here: the
	  module will be called go7007-loader.

config VIDEO_GO7007_USB_S2250_BOARD
	tristate "Sensoray 2250/2251 support"
	depends on VIDEO_GO7007_USB && USB
	help
	  This is a video4linux driver for the Sensoray 2250/2251 device.

	  To compile this driver as a module, choose M here: the
	  module will be called s2250.
endif

if (MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT)
	comment "Analog/digital TV USB devices"
# SPDX-License-Identifier: GPL-2.0-only

config VIDEO_AU0828
	tristate "Auvitek AU0828 support"
	depends on I2C && INPUT && DVB_CORE && USB && VIDEO_V4L2
	select MEDIA_CONTROLLER
	select MEDIA_CONTROLLER_DVB
	select I2C_ALGOBIT
	select VIDEO_TVEEPROM
	select VIDEOBUF2_VMALLOC if VIDEO_V4L2
	select DVB_AU8522_DTV if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_XC5000 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_MXL5007T if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_TDA18271 if MEDIA_SUBDRV_AUTOSELECT
	help
	  This is a hybrid analog/digital tv capture driver for
	  Auvitek's AU0828 USB device.

	  To compile this driver as a module, choose M here: the
	  module will be called au0828

config VIDEO_AU0828_V4L2
	bool "Auvitek AU0828 v4l2 analog video support"
	depends on VIDEO_AU0828
	depends on VIDEO_V4L2=y || VIDEO_V4L2=VIDEO_AU0828
	select DVB_AU8522_V4L if MEDIA_SUBDRV_AUTOSELECT
	select VIDEO_TUNER
	default y
	help
	  This is a video4linux driver for Auvitek's USB device.

	  Choose Y here to include support for v4l2 analog video
	  capture within the au0828 driver.

config VIDEO_AU0828_RC
	bool "AU0828 Remote Controller support"
	depends on RC_CORE
	depends on !(RC_CORE=m && VIDEO_AU0828=y)
	depends on VIDEO_AU0828
	help
	   Enables Remote Controller support on au0828 driver.
# SPDX-License-Identifier: GPL-2.0-only
config VIDEO_CX231XX
	tristate "Conexant cx231xx USB video capture support"
	depends on VIDEO_DEV && I2C && I2C_MUX
	select VIDEO_TUNER
	select VIDEO_TVEEPROM
	select VIDEOBUF2_VMALLOC
	select VIDEO_CX25840
	select VIDEO_CX2341X

	help
	  This is a video4linux driver for Conexant 231xx USB based TV cards.

	  To compile this driver as a module, choose M here: the
	  module will be called cx231xx

config VIDEO_CX231XX_RC
	bool "Conexant cx231xx Remote Controller additional support"
	depends on RC_CORE=y || RC_CORE=VIDEO_CX231XX
	depends on VIDEO_CX231XX
	default y
	help
	  cx231xx hardware has a builtin RX/TX support. However, a few
	  designs opted to not use it, but, instead, some other hardware.
	  This module enables the usage of those other hardware, like the
	  ones used with ISDB-T boards.

	  On most cases, all you need for IR is mceusb module.

config VIDEO_CX231XX_ALSA
	tristate "Conexant Cx231xx ALSA audio module"
	depends on VIDEO_CX231XX && SND
	select SND_PCM

	help
	  This is an ALSA driver for Cx231xx USB based TV cards.

	  To compile this driver as a module, choose M here: the
	  module will be called cx231xx-alsa

config VIDEO_CX231XX_DVB
	tristate "DVB/ATSC Support for Cx231xx based TV cards"
	depends on VIDEO_CX231XX && DVB_CORE
	select MEDIA_TUNER_XC5000 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_TDA18271 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_MB86A20S if MEDIA_SUBDRV_AUTOSELECT
	select DVB_LGDT3305 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_LGDT3306A if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TDA18271C2DD if MEDIA_SUBDRV_AUTOSELECT
	select DVB_SI2165 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_SI2168 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_SI2157 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_MN88473 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_R820T if MEDIA_SUBDRV_AUTOSELECT

	help
	  This adds support for DVB cards based on the
	  Conexant cx231xx chips.
# SPDX-License-Identifier: GPL-2.0-only
config VIDEO_TM6000
	tristate "TV Master TM5600/6000/6010 driver"
	depends on VIDEO_DEV && I2C && INPUT && RC_CORE && USB
	select VIDEO_TUNER
	select MEDIA_TUNER_XC2028
	select MEDIA_TUNER_XC5000
	select VIDEOBUF_VMALLOC
	help
	  Support for TM5600/TM6000/TM6010 USB Device

	  Since these cards have no MPEG decoder onboard, they transmit
	  only compressed MPEG data over the usb bus, so you need
	  an external software decoder to watch TV on your computer.

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

config VIDEO_TM6000_ALSA
	tristate "TV Master TM5600/6000/6010 audio support"
	depends on VIDEO_TM6000 && SND
	select SND_PCM
	help
	  This is a video4linux driver for direct (DMA) audio for
	  TM5600/TM6000/TM6010 USB Devices.

	  To compile this driver as a module, choose M here: the
	  module will be called tm6000-alsa.

config VIDEO_TM6000_DVB
	tristate "DVB Support for tm6000 based TV cards"
	depends on VIDEO_TM6000 && DVB_CORE && USB
	select DVB_ZL10353
	help
	  This adds support for DVB cards based on the tm5600/tm6000 chip.
endif


if I2C && MEDIA_DIGITAL_TV_SUPPORT
	comment "Digital TV USB devices"
# 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.

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_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_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_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_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_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 DVB_MN88436 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_MXL692 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_CXD2858 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_SI2183 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
	select MEDIA_TUNER_MXL603 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_V4L2
	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_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_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_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.

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_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_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_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_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_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_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_PCTV452E
	tristate "Pinnacle PCTV HDTV Pro USB device/TT Connect S2-3600"
	depends on DVB_USB
	select TTPCI_EEPROM
	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_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
	select DVB_M88RS6000B if MEDIA_SUBDRV_AUTOSELECT	
	help
	  Say Y here to support the DvbWorld, TeVii, Prof, TechnoTrend
	  DVB-S/S2 USB2.0 receivers.

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_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_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_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_CYCITV
	tristate "Geniatech CI TV USB2.0 support"
	depends on DVB_USB
#	select DVB_TDA10023 if MEDIA_SUBDRV_AUTOSELECT
#	select DVB_TDA10021 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_DS3000 if MEDIA_SUBDRV_AUTOSELECT
#	select DVB_MN88436 if MEDIA_SUBDRV_AUTOSELECT
#	select MEDIA_TUNER_MXL603 if MEDIA_SUBDRV_AUTOSELECT
	help
	  Say Y here to support the CYCI TV, Geniatech, Prof DVB(CI) USB2.0
	  receivers.
# SPDX-License-Identifier: GPL-2.0-only
config DVB_USB_V2
	tristate "Support for various USB DVB devices v2"
	depends on DVB_CORE && USB && I2C && (RC_CORE || RC_CORE=n)
	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_AF9015
	tristate "Afatech AF9015 DVB-T USB2.0 support"
	depends on DVB_USB_V2 && I2C_MUX
	select REGMAP
	select DVB_AF9013
	select DVB_PLL              if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_MT2060   if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_QT1010   if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_TDA18271 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_MXL5005S if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_MC44S803 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_TDA18218 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_MXL5007T if MEDIA_SUBDRV_AUTOSELECT
	help
	  Say Y here to support the Afatech AF9015 based DVB-T USB2.0 receiver

config DVB_USB_AF9035
	tristate "Afatech AF9035 DVB-T USB2.0 support"
	depends on DVB_USB_V2
	select DVB_AF9033
	select MEDIA_TUNER_TUA9001 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_FC0011 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_MXL5007T if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_TDA18218 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_FC2580 if (MEDIA_SUBDRV_AUTOSELECT && VIDEO_V4L2)
	select MEDIA_TUNER_IT913X if MEDIA_SUBDRV_AUTOSELECT
	help
	  Say Y here to support the Afatech AF9035 based DVB USB receiver.

config DVB_USB_ANYSEE
	tristate "Anysee DVB-T/C USB2.0 support"
	depends on DVB_USB_V2
	select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT
	select DVB_MT352 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_ZL10353 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TDA10023 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_TDA18212 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_CX24116 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_STV0900 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_STV6110 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_ISL6423 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_CXD2820R if MEDIA_SUBDRV_AUTOSELECT
	help
	  Say Y here to support the Anysee E30, Anysee E30 Plus or
	  Anysee E30 C Plus DVB USB2.0 receiver.

config DVB_USB_AU6610
	tristate "Alcor Micro AU6610 USB2.0 support"
	depends on DVB_USB_V2
	select DVB_ZL10353 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_QT1010 if MEDIA_SUBDRV_AUTOSELECT
	help
	  Say Y here to support the Sigmatek DVB-110 DVB-T USB2.0 receiver.

config DVB_USB_AZ6007
	tristate "AzureWave 6007 and clones DVB-T/C USB2.0 support"
	depends on DVB_USB_V2
	select CYPRESS_FIRMWARE
	select DVB_DRXK if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_MT2063 if MEDIA_SUBDRV_AUTOSELECT
	help
	  Say Y here to support the AZ6007 receivers like Terratec H7.

config DVB_USB_CE6230
	tristate "Intel CE6230 DVB-T USB2.0 support"
	depends on DVB_USB_V2
	select DVB_ZL10353
	select MEDIA_TUNER_MXL5005S if MEDIA_SUBDRV_AUTOSELECT
	help
	  Say Y here to support the Intel CE6230 DVB-T USB2.0 receiver

config DVB_USB_EC168
	tristate "E3C EC168 DVB-T USB2.0 support"
	depends on DVB_USB_V2
	select DVB_EC100
	select MEDIA_TUNER_MXL5005S if MEDIA_SUBDRV_AUTOSELECT
	help
	  Say Y here to support the E3C EC168 DVB-T USB2.0 receiver.

config DVB_USB_GL861
	tristate "Genesys Logic GL861 USB2.0 support"
	depends on DVB_USB_V2
	select DVB_ZL10353 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TC90522 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_QT1010 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT
	help
	  Say Y here to support the MSI Megasky 580 (55801) DVB-T USB2.0
	  receiver with USB ID 0db0:5581, Friio White ISDB-T receiver
	  with USB ID 0x7a69:0001.

config DVB_USB_LME2510
	tristate "LME DM04/QQBOX DVB-S USB2.0 support"
	depends on DVB_USB_V2
	depends on RC_CORE
	select DVB_TDA10086 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TDA826X if MEDIA_SUBDRV_AUTOSELECT
	select DVB_STV0288 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_IX2505V if MEDIA_SUBDRV_AUTOSELECT
	select DVB_STV0299 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT
	select DVB_M88RS2000 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TS2020 if MEDIA_SUBDRV_AUTOSELECT
	help
	  Say Y here to support the LME DM04/QQBOX DVB-S USB2.0

config DVB_USB_MXL111SF
	tristate "MxL111SF DTV USB2.0 support"
	depends on DVB_USB_V2
	select DVB_LGDT3305 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_LG2160 if MEDIA_SUBDRV_AUTOSELECT
	select VIDEO_TVEEPROM
	help
	  Say Y here to support the MxL111SF USB2.0 DTV receiver.

config DVB_USB_RTL28XXU
	tristate "Realtek RTL28xxU DVB USB support"
	depends on DVB_USB_V2 && I2C_MUX
	select DVB_MN88472 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_MN88473 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_CXD2841ER if MEDIA_SUBDRV_AUTOSELECT
	select DVB_RTL2830
	select DVB_RTL2832
	select DVB_RTL2832_SDR if (MEDIA_SUBDRV_AUTOSELECT && MEDIA_SDR_SUPPORT && VIDEO_V4L2)
	select DVB_SI2168 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_E4000 if (MEDIA_SUBDRV_AUTOSELECT && VIDEO_V4L2)
	select MEDIA_TUNER_FC0012 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_FC0013 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_FC2580 if (MEDIA_SUBDRV_AUTOSELECT && VIDEO_V4L2)
	select MEDIA_TUNER_MT2060 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_MXL5005S if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_QT1010 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_R820T if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_SI2157 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_TUA9001 if MEDIA_SUBDRV_AUTOSELECT
	help
	  Say Y here to support the Realtek RTL28xxU DVB USB receiver.

config DVB_USB_DVBSKY
	tristate "DVBSky USB support"
	depends on DVB_USB_V2
	select DVB_M88DS3103 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_SI2168 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TS2020 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_SI2157 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_SP2 if MEDIA_SUBDRV_AUTOSELECT
	help
	  Say Y here to support the USB receivers from DVBSky.

config DVB_USB_ZD1301
	tristate "ZyDAS ZD1301"
	depends on DVB_USB_V2
	select DVB_ZD1301_DEMOD if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_MT2060 if MEDIA_SUBDRV_AUTOSELECT
	help
	  Say Y here to support the ZyDAS ZD1301 DVB USB receiver.
# SPDX-License-Identifier: GPL-2.0-only
config DVB_TTUSB_BUDGET
	tristate "Technotrend/Hauppauge Nova-USB devices"
	depends on DVB_CORE && USB && I2C && PCI
	select DVB_CX22700 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TDA1004X if MEDIA_SUBDRV_AUTOSELECT
	select DVB_VES1820 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TDA8083 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_STV0299 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_STV0297 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_LNBP21 if MEDIA_SUBDRV_AUTOSELECT
	help
	  Support for external USB adapters designed by Technotrend and
	  produced by Hauppauge, shipped under the brand name 'Nova-USB'.

	  These devices don't have a MPEG decoder built in, so you need
	  an external software decoder to watch TV.

	  Say Y if you own such a device and want to use it.
# SPDX-License-Identifier: GPL-2.0-only
config DVB_TTUSB_DEC
	tristate "Technotrend/Hauppauge USB DEC devices"
	depends on DVB_CORE && USB && INPUT && PCI
	select CRC32
	help
	  Support for external USB adapters designed by Technotrend and
	  produced by Hauppauge, shipped under the brand name 'DEC2000-t'
	  and 'DEC3000-s'.

	  Even if these devices have a MPEG decoder built in, they transmit
	  only compressed MPEG data over the USB bus, so you need
	  an external software decoder to watch TV on your computer.

	  This driver needs external firmware. Please use the commands
	  "<kerneldir>/scripts/get_dvb_firmware dec2000t",
	  "<kerneldir>/scripts/get_dvb_firmware dec2540t",
	  "<kerneldir>/scripts/get_dvb_firmware dec3000s",
	  download/extract them, and then copy them to /usr/lib/hotplug/firmware
	  or /lib/firmware (depending on configuration of firmware hotplug).

	  Say Y if you own such a device and want to use it.
# SPDX-License-Identifier: GPL-2.0-only
#
# Siano Mobile Silicon Digital TV device configuration
#

config SMS_USB_DRV
	tristate "Siano SMS1xxx based MDTV receiver"
	depends on DVB_CORE && HAS_DMA
	depends on !RC_CORE || RC_CORE
	select MEDIA_COMMON_OPTIONS
	select SMS_SIANO_MDTV
	help
	  Choose if you would like to have Siano's support for USB interface

# SPDX-License-Identifier: GPL-2.0-only
config DVB_B2C2_FLEXCOP_USB
	tristate "Technisat/B2C2 Air/Sky/Cable2PC USB"
	depends on DVB_CORE && I2C
	help
	  Support for the Air/Sky/Cable2PC USB1.1 box (DVB/ATSC) by Technisat/B2C2,

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

config DVB_B2C2_FLEXCOP_USB_DEBUG
	bool "Enable debug for the B2C2 FlexCop drivers"
	depends on DVB_B2C2_FLEXCOP_USB
	select DVB_B2C2_FLEXCOP_DEBUG
	help
	  Say Y if you want to enable the module option to control debug messages
	  of all B2C2 FlexCop drivers.
# SPDX-License-Identifier: GPL-2.0-only
config DVB_AS102
	tristate "Abilis AS102 DVB receiver"
	depends on DVB_CORE && USB && I2C && INPUT
	select FW_LOADER
	help
	  Choose Y or M here if you have a device containing an AS102

	  To compile this driver as a module, choose M here
endif

if (MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT)
	comment "Webcam, TV (analog/digital) USB devices"
# SPDX-License-Identifier: GPL-2.0-only
config VIDEO_EM28XX
	tristate "Empia EM28xx USB devices support"
	depends on VIDEO_DEV && I2C
	select VIDEO_TUNER
	select VIDEO_TVEEPROM

config VIDEO_EM28XX_V4L2
	tristate "Empia EM28xx analog TV, video capture and/or webcam support"
	depends on VIDEO_EM28XX
	select VIDEOBUF2_VMALLOC
	select VIDEO_SAA711X if MEDIA_SUBDRV_AUTOSELECT
	select VIDEO_TVP5150 if MEDIA_SUBDRV_AUTOSELECT
	select VIDEO_MSP3400 if MEDIA_SUBDRV_AUTOSELECT
	select VIDEO_MT9V011 if MEDIA_SUBDRV_AUTOSELECT && MEDIA_CAMERA_SUPPORT
	select VIDEO_OV2640 if MEDIA_SUBDRV_AUTOSELECT && MEDIA_CAMERA_SUPPORT
	help
	  This is a video4linux driver for Empia 28xx based TV cards.

	  To compile this driver as a module, choose M here: the
	  module will be called em28xx

config VIDEO_EM28XX_ALSA
	depends on VIDEO_EM28XX && SND
	select SND_PCM
	tristate "Empia EM28xx ALSA audio module"
	help
	  This is an ALSA driver for some Empia 28xx based TV cards.

	  This is not required for em2800/em2820/em2821 boards. However,
	  newer em28xx devices uses Vendor Class for audio, instead of
	  implementing the USB Audio Class. For those chips, this module
	  will enable digital audio.

	  To compile this driver as a module, choose M here: the
	  module will be called em28xx-alsa

config VIDEO_EM28XX_DVB
	tristate "DVB/ATSC Support for em28xx based TV cards"
	depends on VIDEO_EM28XX && DVB_CORE
	select DVB_LGDT330X if MEDIA_SUBDRV_AUTOSELECT
	select DVB_LGDT3305 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_LGDT3306A if MEDIA_SUBDRV_AUTOSELECT
	select DVB_ZL10353 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TDA10023 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_S921 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_DRXD if MEDIA_SUBDRV_AUTOSELECT
	select DVB_CXD2820R if MEDIA_SUBDRV_AUTOSELECT
	select DVB_DRXK if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TDA18271C2DD if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TDA10071 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_A8293 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_MT352 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_S5H1409 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_MB86A20S if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_QT1010 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_TDA18271 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_TDA18212 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_M88DS3103 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TS2020 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_DRX39XYJ if MEDIA_SUBDRV_AUTOSELECT
	select DVB_SI2168 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_SI2157 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TC90522 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_QM1D1C0042 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_SIMPLE if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_XC2028 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_XC5000 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_MT2060 if MEDIA_SUBDRV_AUTOSELECT
	help
	  This adds support for DVB cards based on the
	  Empiatech em28xx chips.

config VIDEO_EM28XX_RC
	tristate "EM28XX Remote Controller support"
	depends on RC_CORE
	depends on VIDEO_EM28XX
	depends on !(RC_CORE=m && VIDEO_EM28XX=y)
	default VIDEO_EM28XX
	help
	  Enables Remote Controller support on em28xx driver.
endif

if MEDIA_SDR_SUPPORT
	comment "Software defined radio USB devices"
# SPDX-License-Identifier: GPL-2.0-only
config USB_AIRSPY
	tristate "AirSpy"
	depends on VIDEO_V4L2
	select VIDEOBUF2_VMALLOC
	help
	  This is a video4linux2 driver for AirSpy SDR device.

	  To compile this driver as a module, choose M here: the
	  module will be called airspy

# SPDX-License-Identifier: GPL-2.0-only
config USB_HACKRF
	tristate "HackRF"
	depends on VIDEO_V4L2
	select VIDEOBUF2_VMALLOC
	help
	  This is a video4linux2 driver for HackRF SDR device.

	  To compile this driver as a module, choose M here: the
	  module will be called hackrf

# SPDX-License-Identifier: GPL-2.0-only
config USB_MSI2500
	tristate "Mirics MSi2500"
	depends on VIDEO_V4L2 && SPI
	select VIDEOBUF2_VMALLOC
	select MEDIA_TUNER_MSI001
endif

endif #MEDIA_USB_SUPPORT
endif #USB
# SPDX-License-Identifier: GPL-2.0-only

if PCI

menuconfig MEDIA_PCI_SUPPORT
	bool "Media PCI Adapters"
	help
	  Enable media drivers for PCI/PCIe bus.
	  If you have such devices, say Y.

if MEDIA_PCI_SUPPORT

if MEDIA_CAMERA_SUPPORT
	comment "Media capture support"
# SPDX-License-Identifier: GPL-2.0-only
config VIDEO_MEYE
	tristate "Sony Vaio Picturebook Motion Eye Video For Linux"
	depends on PCI && VIDEO_V4L2
	depends on SONY_LAPTOP
	depends on X86 || COMPILE_TEST
	help
	  This is the video4linux driver for the Motion Eye camera found
	  in the Vaio Picturebook laptops. Please read the material in
	  <file:Documentation/admin-guide/media/meye.rst> for more information.

	  If you say Y or M here, you need to say Y or M to "Sony Laptop
	  Extras" in the misc device section.

	  To compile this driver as a module, choose M here: the
	  module will be called meye.
# SPDX-License-Identifier: GPL-2.0-only
config VIDEO_SOLO6X10
	tristate "Bluecherry / Softlogic 6x10 capture cards (MPEG-4/H.264)"
	depends on PCI && VIDEO_DEV && SND && I2C
	select BITREVERSE
	select FONT_SUPPORT
	select FONT_8x16
	select VIDEOBUF2_DMA_SG
	select VIDEOBUF2_DMA_CONTIG
	select SND_PCM
	select FONT_8x16
	help
	  This driver supports the Bluecherry H.264 and MPEG-4 hardware
	  compression capture cards and other Softlogic-based ones.

	  Following cards have been tested:
	  * Bluecherry BC-H16480A (PCIe, 16 port, H.264)
	  * Bluecherry BC-H04120A (PCIe, 4 port, H.264)
	  * Bluecherry BC-H04120A-MPCI (Mini-PCI, 4 port, H.264)
	  * Bluecherry BC-04120A (PCIe, 4 port, MPEG-4)
# SPDX-License-Identifier: GPL-2.0-only
config STA2X11_VIP
	tristate "STA2X11 VIP Video For Linux"
	depends on PCI && VIDEO_V4L2 && VIRT_TO_BUS && I2C
	depends on STA2X11 || COMPILE_TEST
	select VIDEO_ADV7180 if MEDIA_SUBDRV_AUTOSELECT
	select VIDEOBUF2_DMA_CONTIG
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	help
	  Say Y for support for STA2X11 VIP (Video Input Port) capture
	  device.

	  To compile this driver as a module, choose M here: the
	  module will be called sta2x11_vip.
# SPDX-License-Identifier: GPL-2.0-only
config VIDEO_TW5864
	tristate "Techwell TW5864 video/audio grabber and encoder"
	depends on VIDEO_DEV && PCI && VIDEO_V4L2
	select VIDEOBUF2_DMA_CONTIG
	help
	  Support for boards based on Techwell TW5864 chip which provides
	  multichannel video & audio grabbing and encoding (H.264, MJPEG,
	  ADPCM G.726).

	  To compile this driver as a module, choose M here: the
	  module will be called tw5864.
# SPDX-License-Identifier: GPL-2.0-only
config VIDEO_TW68
	tristate "Techwell tw68x Video For Linux"
	depends on VIDEO_DEV && PCI && VIDEO_V4L2
	select VIDEOBUF2_DMA_SG
	help
	  Support for Techwell tw68xx based frame grabber boards.

	  To compile this driver as a module, choose M here: the
	  module will be called tw68.
# SPDX-License-Identifier: GPL-2.0-only
config VIDEO_TW686X
	tristate "Intersil/Techwell TW686x video capture cards"
	depends on PCI && VIDEO_DEV && VIDEO_V4L2 && SND
	select VIDEOBUF2_VMALLOC
	select VIDEOBUF2_DMA_CONTIG
	select VIDEOBUF2_DMA_SG
	select SND_PCM
	help
	  Support for Intersil/Techwell TW686x-based frame grabber cards.

	  Currently supported chips:
	  - TW6864 (4 video channels),
	  - TW6865 (4 video channels, not tested, second generation chip),
	  - TW6868 (8 video channels but only 4 first channels using
	    built-in video decoder are supported, not tested),
	  - TW6869 (8 video channels, second generation chip).

	  To compile this driver as a module, choose M here: the module
	  will be named tw686x.
endif

if MEDIA_ANALOG_TV_SUPPORT
	comment "Media capture/analog TV support"
# SPDX-License-Identifier: GPL-2.0-only
config VIDEO_IVTV
	tristate "Conexant cx23416/cx23415 MPEG encoder/decoder support"
	depends on VIDEO_V4L2 && PCI && I2C
	select I2C_ALGOBIT
	depends on RC_CORE
	select VIDEO_TUNER
	select VIDEO_TVEEPROM
	select VIDEO_CX2341X
	select VIDEO_CX25840
	select VIDEO_MSP3400
	select VIDEO_SAA711X
	select VIDEO_SAA717X
	select VIDEO_SAA7127
	select VIDEO_CS53L32A
	select VIDEO_M52790
	select VIDEO_WM8775
	select VIDEO_WM8739
	select VIDEO_VP27SMPX
	select VIDEO_UPD64031A
	select VIDEO_UPD64083
	help
	  This is a video4linux driver for Conexant cx23416 or cx23415 based
	  PCI personal video recorder devices.

	  This is used in devices such as the Hauppauge PVR-150/250/350/500
	  cards.

	  To compile this driver as a module, choose M here: the
	  module will be called ivtv.

config VIDEO_IVTV_DEPRECATED_IOCTLS
	bool "enable the DVB ioctls abuse on ivtv driver"
	depends on VIDEO_IVTV
	help
	  Enable the usage of the a DVB set of ioctls that were abused by
	  IVTV driver for a while.

	  Those ioctls were not needed for a long time, as IVTV implements
	  the proper V4L2 ioctls since kernel 3.3.

	  If unsure, say N.

config VIDEO_IVTV_ALSA
	tristate "Conexant cx23415/cx23416 ALSA interface for PCM audio capture"
	depends on VIDEO_IVTV && SND
	select SND_PCM
	help
	  This driver provides an ALSA interface as another method for user
	  applications to obtain PCM audio data from Conexant cx23415/cx23416
	  based PCI TV cards supported by the ivtv driver.

	  The ALSA interface has much wider use in user applications performing
	  PCM audio capture, than the V4L2 "/dev/video24" PCM audio interface
	  provided by the main ivtv driver.

	  To compile this driver as a module, choose M here: the
	  module will be called ivtv-alsa.

config VIDEO_FB_IVTV
	tristate "Conexant cx23415 framebuffer support"
	depends on VIDEO_IVTV && FB
	select FB_CFB_FILLRECT
	select FB_CFB_COPYAREA
	select FB_CFB_IMAGEBLIT
	help
	  This is a framebuffer driver for the Conexant cx23415 MPEG
	  encoder/decoder.

	  This is used in the Hauppauge PVR-350 card.

	  To compile this driver as a module, choose M here: the
	  module will be called ivtvfb.

config VIDEO_FB_IVTV_FORCE_PAT
	bool "force cx23415 framebuffer init with x86 PAT enabled"
	depends on VIDEO_FB_IVTV && X86_PAT
	help
	  With PAT enabled, the cx23415 framebuffer driver does not
	  utilize write-combined caching on the framebuffer memory.
	  For this reason, the driver will by default disable itself
	  when initializied on a kernel with PAT enabled (i.e. not
	  using the nopat kernel parameter).

	  The driver is not easily upgradable to the PAT-aware
	  ioremap_wc() API since the firmware hides the address
	  ranges that should be marked write-combined from the driver.

	  With this setting enabled, the framebuffer will initialize on
	  PAT-enabled systems but the framebuffer memory will be uncached.

	  If unsure, say N.
# SPDX-License-Identifier: GPL-2.0-only
config VIDEO_HEXIUM_GEMINI
	tristate "Hexium Gemini frame grabber"
	depends on PCI && VIDEO_V4L2 && I2C
	select VIDEO_SAA7146_VV
	help
	  This is a video4linux driver for the Hexium Gemini frame
	  grabber card by Hexium. Please note that the Gemini Dual
	  card is *not* fully supported.

	  To compile this driver as a module, choose M here: the
	  module will be called hexium_gemini.

config VIDEO_HEXIUM_ORION
	tristate "Hexium HV-PCI6 and Orion frame grabber"
	depends on PCI && VIDEO_V4L2 && I2C
	select VIDEO_SAA7146_VV
	help
	  This is a video4linux driver for the Hexium HV-PCI6 and
	  Orion frame grabber cards by Hexium.

	  To compile this driver as a module, choose M here: the
	  module will be called hexium_orion.

config VIDEO_MXB
	tristate "Siemens-Nixdorf 'Multimedia eXtension Board'"
	depends on PCI && VIDEO_V4L2 && I2C
	select VIDEO_SAA7146_VV
	select VIDEO_TUNER
	select VIDEO_SAA711X if MEDIA_SUBDRV_AUTOSELECT
	select VIDEO_TDA9840 if MEDIA_SUBDRV_AUTOSELECT
	select VIDEO_TEA6415C if MEDIA_SUBDRV_AUTOSELECT
	select VIDEO_TEA6420 if MEDIA_SUBDRV_AUTOSELECT
	help
	  This is a video4linux driver for the 'Multimedia eXtension Board'
	  TV card by Siemens-Nixdorf.

	  To compile this driver as a module, choose M here: the
	  module will be called mxb.
# SPDX-License-Identifier: GPL-2.0-only
config VIDEO_DT3155
	tristate "DT3155 frame grabber"
	depends on PCI && VIDEO_DEV && VIDEO_V4L2
	select VIDEOBUF2_DMA_CONTIG
	help
	  Enables dt3155 device driver for the DataTranslation DT3155 frame grabber.
	  Say Y here if you have this hardware.
	  In doubt, say N.

	  To compile this driver as a module, choose M here: the
	  module will be called dt3155.
endif

if MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT
	comment "Media capture/analog/hybrid TV support"
# SPDX-License-Identifier: GPL-2.0-only
config VIDEO_CX18
	tristate "Conexant cx23418 MPEG encoder support"
	depends on VIDEO_V4L2 && DVB_CORE && PCI && I2C
	select I2C_ALGOBIT
	select VIDEOBUF_VMALLOC
	depends on RC_CORE
	select VIDEO_TUNER
	select VIDEO_TVEEPROM
	select VIDEO_CX2341X
	select VIDEO_CS5345
	select DVB_S5H1409 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_MXL5005S if MEDIA_SUBDRV_AUTOSELECT
	select DVB_S5H1411 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_TDA18271 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_TDA8290 if MEDIA_SUBDRV_AUTOSELECT
	help
	  This is a video4linux driver for Conexant cx23418 based
	  PCI combo video recorder devices.

	  This is used in devices such as the Hauppauge HVR-1600
	  cards.

	  To compile this driver as a module, choose M here: the
	  module will be called cx18.

config VIDEO_CX18_ALSA
	tristate "Conexant 23418 DMA audio support"
	depends on VIDEO_CX18 && SND
	select SND_PCM
	help
	  This is a video4linux driver for direct (DMA) audio on
	  Conexant 23418 based TV cards using ALSA.

	  To compile this driver as a module, choose M here: the
	  module will be called cx18-alsa.
# SPDX-License-Identifier: GPL-2.0-only
config VIDEO_CX23885
	tristate "Conexant cx23885 (2388x successor) support"
	depends on DVB_CORE && VIDEO_DEV && PCI && I2C && INPUT && SND
	select SND_PCM
	select I2C_ALGOBIT
	select VIDEO_TUNER
	select VIDEO_TVEEPROM
	depends on RC_CORE
	select VIDEOBUF2_DVB
	select VIDEOBUF2_DMA_SG
	select VIDEO_CX25840
	select VIDEO_CX2341X
	select VIDEO_CS3308
	select DVB_DIB7000P if MEDIA_SUBDRV_AUTOSELECT
	select DVB_DRXK if MEDIA_SUBDRV_AUTOSELECT
	select DVB_S5H1409 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_S5H1411 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_LGDT330X if MEDIA_SUBDRV_AUTOSELECT
	select DVB_ZL10353 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TDA10048 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_LNBP21 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_STV090x if MEDIA_SUBDRV_AUTOSELECT
	select DVB_STB6100 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_STV6110 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_CX24116 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_CX24117 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_STV0900 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_DS3000 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TS2020 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_STV0367 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TDA10071 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_A8293 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_MB86A20S if MEDIA_SUBDRV_AUTOSELECT
	select DVB_SI2165 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_SI2168 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_M88DS3103 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_MT2063 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_MT2131 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_XC2028 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_TDA8290 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_TDA18271 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_XC5000 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_SI2157 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_M88RS6000T if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TUNER_DIB0070 if MEDIA_SUBDRV_AUTOSELECT
	help
	  This is a video4linux driver for Conexant 23885 based
	  TV cards.

	  To compile this driver as a module, choose M here: the
	  module will be called cx23885

config MEDIA_ALTERA_CI
	tristate "Altera FPGA based CI module"
	depends on VIDEO_CX23885 && DVB_CORE
	select ALTERA_STAPL
	help
	  An Altera FPGA CI module for NetUP Dual DVB-T/C RF CI card.

	  To compile this driver as a module, choose M here: the
	  module will be called altera-ci
# SPDX-License-Identifier: GPL-2.0-only
config VIDEO_CX25821
	tristate "Conexant cx25821 support"
	depends on VIDEO_DEV && PCI && I2C
	select I2C_ALGOBIT
	select VIDEOBUF2_DMA_SG
	help
	  This is a video4linux driver for Conexant 25821 based
	  TV cards.

	  To compile this driver as a module, choose M here: the
	  module will be called cx25821

config VIDEO_CX25821_ALSA
	tristate "Conexant 25821 DMA audio support"
	depends on VIDEO_CX25821 && SND
	select SND_PCM
	help
	  This is a video4linux driver for direct (DMA) audio on
	  Conexant 25821 based capture cards using ALSA.

	  It only works with boards with function 01 enabled.
	  To check if your board supports, use lspci -n.
	  If supported, you should see 14f1:8801 or 14f1:8811
	  PCI device.

	  To compile this driver as a module, choose M here: the
	  module will be called cx25821-alsa.

# SPDX-License-Identifier: GPL-2.0-only
config VIDEO_CX88
	tristate "Conexant 2388x (bt878 successor) support"
	depends on VIDEO_DEV && PCI && I2C && RC_CORE
	select I2C_ALGOBIT
	select VIDEOBUF2_DMA_SG
	select VIDEO_TUNER
	select VIDEO_TVEEPROM
	select VIDEO_WM8775 if MEDIA_SUBDRV_AUTOSELECT
	help
	  This is a video4linux driver for Conexant 2388x based
	  TV cards.

	  To compile this driver as a module, choose M here: the
	  module will be called cx8800

config VIDEO_CX88_ALSA
	tristate "Conexant 2388x DMA audio support"
	depends on VIDEO_CX88 && SND
	select SND_PCM
	help
	  This is a video4linux driver for direct (DMA) audio on
	  Conexant 2388x based TV cards using ALSA.

	  It only works with boards with function 01 enabled.
	  To check if your board supports, use lspci -n.
	  If supported, you should see 14f1:8801 or 14f1:8811
	  PCI device.

	  To compile this driver as a module, choose M here: the
	  module will be called cx88-alsa.

config VIDEO_CX88_BLACKBIRD
	tristate "Blackbird MPEG encoder support (cx2388x + cx23416)"
	depends on VIDEO_CX88
	select VIDEO_CX2341X
	help
	  This adds support for MPEG encoder cards based on the
	  Blackbird reference design, using the Conexant 2388x
	  and 23416 chips.

	  To compile this driver as a module, choose M here: the
	  module will be called cx88-blackbird.

config VIDEO_CX88_DVB
	tristate "DVB/ATSC Support for cx2388x based TV cards"
	depends on VIDEO_CX88 && DVB_CORE
	select VIDEOBUF2_DVB
	select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT
	select DVB_MT352 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_ZL10353 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_OR51132 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_CX22702 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_LGDT330X if MEDIA_SUBDRV_AUTOSELECT
	select DVB_NXT200X if MEDIA_SUBDRV_AUTOSELECT
	select DVB_CX24123 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_ISL6421 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_S5H1411 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_CX24116 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_STV0900 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_STB6100 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_DS3000 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TS2020 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_SIMPLE if MEDIA_SUBDRV_AUTOSELECT
	help
	  This adds support for DVB/ATSC cards based on the
	  Conexant 2388x chip.

	  To compile this driver as a module, choose M here: the
	  module will be called cx88-dvb.

config VIDEO_CX88_ENABLE_VP3054
	bool "VP-3054 Secondary I2C Bus Support"
	default y
	depends on VIDEO_CX88_DVB && DVB_MT352
	help
	  This adds DVB-T support for cards based on the
	  Conexant 2388x chip and the MT352 demodulator,
	  which also require support for the VP-3054
	  Secondary I2C bus, such at DNTV Live! DVB-T Pro.

config VIDEO_CX88_VP3054
	tristate
	depends on VIDEO_CX88_DVB && VIDEO_CX88_ENABLE_VP3054
	default y

config VIDEO_CX88_MPEG
	tristate
	depends on VIDEO_CX88_DVB || VIDEO_CX88_BLACKBIRD
	default y
# SPDX-License-Identifier: GPL-2.0-only
config VIDEO_BT848
	tristate "BT848 Video For Linux"
	depends on VIDEO_DEV && PCI && I2C && VIDEO_V4L2
	select I2C_ALGOBIT
	select VIDEOBUF_DMA_SG
	depends on RC_CORE
	depends on MEDIA_RADIO_SUPPORT
	select VIDEO_TUNER
	select VIDEO_TVEEPROM
	select VIDEO_MSP3400 if MEDIA_SUBDRV_AUTOSELECT
	select VIDEO_TVAUDIO if MEDIA_SUBDRV_AUTOSELECT
	select VIDEO_TDA7432 if MEDIA_SUBDRV_AUTOSELECT
	select VIDEO_SAA6588 if MEDIA_SUBDRV_AUTOSELECT
	select RADIO_ADAPTERS
	select RADIO_TEA575X
	help
	  Support for BT848 based frame grabber/overlay boards. This includes
	  the Miro, Hauppauge and STB boards. Please read the material in
	  <file:Documentation/admin-guide/media/bttv.rst> for more information.

	  To compile this driver as a module, choose M here: the
	  module will be called bttv.

config DVB_BT8XX
	tristate "DVB/ATSC Support for bt878 based TV cards"
	depends on DVB_CORE && PCI && I2C && VIDEO_BT848
	select DVB_MT352 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_SP887X if MEDIA_SUBDRV_AUTOSELECT
	select DVB_NXT6000 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_CX24110 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_OR51211 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_LGDT330X if MEDIA_SUBDRV_AUTOSELECT
	select DVB_ZL10353 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_SIMPLE if MEDIA_SUBDRV_AUTOSELECT
	help
	  Support for PCI cards based on the Bt8xx PCI bridge. Examples are
	  the Nebula cards, the Pinnacle PCTV cards, the Twinhan DST cards,
	  the pcHDTV HD2000 cards, the DViCO FusionHDTV Lite cards, and
	  some AVerMedia cards.

	  Since these cards have no MPEG decoder onboard, they transmit
	  only compressed MPEG data over the PCI bus, so you need
	  an external software decoder to watch TV on your computer.

	  Say Y if you own such a device and want to use it.
# SPDX-License-Identifier: GPL-2.0-only
config VIDEO_SAA7134
	tristate "Philips SAA7134 support"
	depends on VIDEO_DEV && PCI && I2C
	select VIDEOBUF2_DMA_SG
	select VIDEO_TUNER
	select VIDEO_TVEEPROM
	select CRC32
	select VIDEO_SAA6588 if MEDIA_SUBDRV_AUTOSELECT
	select VIDEO_SAA6752HS if MEDIA_SUBDRV_AUTOSELECT
	help
	  This is a video4linux driver for Philips SAA713x based
	  TV cards.

	  To compile this driver as a module, choose M here: the
	  module will be called saa7134.

config VIDEO_SAA7134_ALSA
	tristate "Philips SAA7134 DMA audio support"
	depends on VIDEO_SAA7134 && SND
	select SND_PCM
	help
	  This is a video4linux driver for direct (DMA) audio in
	  Philips SAA713x based TV cards using ALSA

	  To compile this driver as a module, choose M here: the
	  module will be called saa7134-alsa.

config VIDEO_SAA7134_RC
	bool "Philips SAA7134 Remote Controller support"
	depends on RC_CORE
	depends on VIDEO_SAA7134
	depends on !(RC_CORE=m && VIDEO_SAA7134=y)
	default y
	help
	  Enables Remote Controller support on saa7134 driver.

config VIDEO_SAA7134_DVB
	tristate "DVB/ATSC Support for saa7134 based TV cards"
	depends on VIDEO_SAA7134 && DVB_CORE
	select VIDEOBUF2_DVB
	select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT
	select DVB_MT352 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TDA1004X if MEDIA_SUBDRV_AUTOSELECT
	select DVB_NXT200X if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TDA10086 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TDA826X if MEDIA_SUBDRV_AUTOSELECT
	select DVB_ISL6421 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_ISL6405 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_TDA827X if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_SIMPLE if MEDIA_SUBDRV_AUTOSELECT
	select DVB_ZL10036 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_MT312 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_LNBP21 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_ZL10353 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_LGDT3305 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TDA10048 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_TDA18271 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_TDA8290 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_ZL10039 if MEDIA_SUBDRV_AUTOSELECT
	help
	  This adds support for DVB cards based on the
	  Philips saa7134 chip.

	  To compile this driver as a module, choose M here: the
	  module will be called saa7134-dvb.

config VIDEO_SAA7134_GO7007
	tristate "go7007 support for saa7134 based TV cards"
	depends on VIDEO_SAA7134
	depends on VIDEO_GO7007
	help
	  Enables saa7134 driver support for boards with go7007
	  MPEG encoder (WIS Voyager or compatible).
# SPDX-License-Identifier: GPL-2.0-only
config VIDEO_SAA7164
	tristate "NXP SAA7164 support"
	depends on DVB_CORE && VIDEO_DEV && PCI && I2C
	select I2C_ALGOBIT
	select FW_LOADER
	select VIDEO_TUNER
	select VIDEO_TVEEPROM
	select DVB_TDA10048 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_S5H1411 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_TDA18271 if MEDIA_SUBDRV_AUTOSELECT
	help
	  This is a video4linux driver for NXP SAA7164 based
	  TV cards.

	  To compile this driver as a module, choose M here: the
	  module will be called saa7164

# SPDX-License-Identifier: GPL-2.0-only
config VIDEO_COBALT
	tristate "Cisco Cobalt support"
	depends on VIDEO_V4L2 && I2C
	depends on PCI_MSI && MTD_COMPLEX_MAPPINGS
	depends on (GPIOLIB && DRM_I2C_ADV7511=n) || COMPILE_TEST
	depends on SND
	depends on MTD
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select I2C_ALGOBIT
	select SND_PCM
	select VIDEO_ADV7604
	select VIDEO_ADV7511
	select VIDEO_ADV7842
	select VIDEOBUF2_DMA_SG
	help
	  This is a video4linux driver for the Cisco PCIe Cobalt card.

	  This board is sadly not available outside of Cisco, but it is
	  very useful as an example of a real driver that uses all the
	  latest frameworks and APIs.

	  To compile this driver as a module, choose M here: the
	  module will be called cobalt.

endif

if MEDIA_DIGITAL_TV_SUPPORT
	comment "Media digital TV PCI Adapters"
# SPDX-License-Identifier: GPL-2.0-only
config DVB_AV7110_IR
	bool
	depends on RC_CORE=y || RC_CORE = DVB_AV7110
	default DVB_AV7110

config DVB_AV7110
	tristate "AV7110 cards"
	depends on DVB_CORE && PCI && I2C
	select TTPCI_EEPROM
	select VIDEO_SAA7146_VV
	depends on VIDEO_DEV	# dependencies of VIDEO_SAA7146_VV
	select DVB_VES1820 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_VES1X93 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_STV0299 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TDA8083 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_SP8870 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_STV0297 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_L64781 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_LNBP21 if MEDIA_SUBDRV_AUTOSELECT
	help
	  Support for SAA7146 and AV7110 based DVB cards as produced
	  by Fujitsu-Siemens, Technotrend, Hauppauge and others.

	  This driver only supports the fullfeatured cards with
	  onboard MPEG2 decoder.

	  This driver needs an external firmware. Please use the script
	  "<kerneldir>/scripts/get_dvb_firmware av7110" to
	  download/extract it, and then copy it to /usr/lib/hotplug/firmware
	  or /lib/firmware (depending on configuration of firmware hotplug).

	  Alternatively, you can download the file and use the kernel's
	  EXTRA_FIRMWARE configuration option to build it into your
	  kernel image by adding the filename to the EXTRA_FIRMWARE
	  configuration option string.

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

config DVB_AV7110_OSD
	bool "AV7110 OSD support"
	depends on DVB_AV7110
	default y if DVB_AV7110=y || DVB_AV7110=m
	help
	  The AV7110 firmware provides some code to generate an OnScreenDisplay
	  on the video output. This is kind of nonstandard and not guaranteed to
	  be maintained.

	  Anyway, some popular DVB software like VDR uses this OSD to render
	  its menus, so say Y if you want to use this software.

	  All other people say N.

config DVB_BUDGET_CORE
	tristate "SAA7146 DVB cards (aka Budget, Nova-PCI)"
	depends on DVB_CORE && PCI && I2C
	select VIDEO_SAA7146
	select TTPCI_EEPROM
	help
	  Support for simple SAA7146 based DVB cards
	  (so called Budget- or Nova-PCI cards) without onboard
	  MPEG2 decoder.

config DVB_BUDGET
	tristate "Budget cards"
	depends on DVB_BUDGET_CORE && I2C
	select DVB_STV0299 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_VES1X93 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_VES1820 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_L64781 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TDA8083 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_S5H1420 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TDA10086 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TDA826X if MEDIA_SUBDRV_AUTOSELECT
	select DVB_LNBP21 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TDA1004X if MEDIA_SUBDRV_AUTOSELECT
	select DVB_ISL6423 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_STV090x if MEDIA_SUBDRV_AUTOSELECT
	select DVB_STV6110x if MEDIA_SUBDRV_AUTOSELECT
	help
	  Support for simple SAA7146 based DVB cards (so called Budget-
	  or Nova-PCI cards) without onboard MPEG2 decoder, and without
	  analog inputs or an onboard Common Interface connector.

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

	  To compile this driver as a module, choose M here: the
	  module will be called budget.

config DVB_BUDGET_CI
	tristate "Budget cards with onboard CI connector"
	depends on DVB_BUDGET_CORE && I2C
	select DVB_STV0297 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_STV0299 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TDA1004X if MEDIA_SUBDRV_AUTOSELECT
	select DVB_STB0899 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_STB6100 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_LNBP21 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_STV0288 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_STB6000 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TDA10023 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_TDA827X if MEDIA_SUBDRV_AUTOSELECT
	depends on RC_CORE
	help
	  Support for simple SAA7146 based DVB cards
	  (so called Budget- or Nova-PCI cards) without onboard
	  MPEG2 decoder, but with onboard Common Interface connector.

	  Note: The Common Interface is not yet supported by this driver
	  due to lack of information from the vendor.

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

	  To compile this driver as a module, choose M here: the
	  module will be called budget-ci.

config DVB_BUDGET_AV
	tristate "Budget cards with analog video inputs"
	depends on DVB_BUDGET_CORE && I2C
	select VIDEO_SAA7146_VV
	depends on VIDEO_DEV	# dependencies of VIDEO_SAA7146_VV
	select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT
	select DVB_STV0299 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TDA1004X if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TDA10021 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TDA10023 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_STB0899 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TDA8261 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TUA6100 if MEDIA_SUBDRV_AUTOSELECT
	help
	  Support for simple SAA7146 based DVB cards
	  (so called Budget- or Nova-PCI cards) without onboard
	  MPEG2 decoder, but with one or more analog video inputs.

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

	  To compile this driver as a module, choose M here: the
	  module will be called budget-av.

config DVB_BUDGET_PATCH
	tristate "AV7110 cards with Budget Patch"
	depends on DVB_BUDGET_CORE && I2C
	depends on DVB_AV7110
	select DVB_STV0299 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_VES1X93 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TDA8083 if MEDIA_SUBDRV_AUTOSELECT
	help
	  Support for Budget Patch (full TS) modification on
	  SAA7146+AV7110 based cards (DVB-S cards). This
	  driver doesn't use onboard MPEG2 decoder. The
	  card is driven in Budget-only mode. Card is
	  required to have loaded firmware to tune properly.
	  Firmware can be loaded by insertion and removal of
	  standard AV7110 driver prior to loading this
	  driver.

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

	  To compile this driver as a module, choose M here: the
	  module will be called budget-patch.
# SPDX-License-Identifier: GPL-2.0-only
config DVB_B2C2_FLEXCOP_PCI
	tristate "Technisat/B2C2 Air/Sky/Cable2PC PCI"
	depends on DVB_CORE && I2C
	help
	  Support for the Air/Sky/CableStar2 PCI card (DVB/ATSC) by Technisat/B2C2.

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

config DVB_B2C2_FLEXCOP_PCI_DEBUG
	bool "Enable debug for the B2C2 FlexCop drivers"
	depends on DVB_B2C2_FLEXCOP_PCI
	select DVB_B2C2_FLEXCOP_DEBUG
	help
	  Say Y if you want to enable the module option to control debug messages
	  of all B2C2 FlexCop drivers.
# SPDX-License-Identifier: GPL-2.0-only
config DVB_PLUTO2
	tristate "Pluto2 cards"
	depends on DVB_CORE && PCI && I2C
	select I2C_ALGOBIT
	select DVB_TDA1004X
	help
	  Support for PCI cards based on the Pluto2 FPGA like the Satelco
	  Easywatch Mobile Terrestrial DVB-T Receiver.

	  Since these cards have no MPEG decoder onboard, they transmit
	  only compressed MPEG data over the PCI bus, so you need
	  an external software decoder to watch TV on your computer.

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

# SPDX-License-Identifier: GPL-2.0-only
config DVB_DM1105
	tristate "SDMC DM1105 based PCI cards"
	depends on DVB_CORE && PCI && I2C && I2C_ALGOBIT
	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_DS3000 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TS2020 if MEDIA_SUBDRV_AUTOSELECT
	depends on RC_CORE
	help
	  Support for cards based on the SDMC DM1105 PCI chip like
	  DvbWorld 2002

	  Since these cards have no MPEG decoder onboard, they transmit
	  only compressed MPEG data over the PCI bus, so you need
	  an external software decoder to watch TV on your computer.

	  Say Y or M if you own such a device and want to use it.
# SPDX-License-Identifier: GPL-2.0-only
config DVB_PT1
	tristate "PT1 cards"
	depends on DVB_CORE && PCI && I2C
	select DVB_TC90522 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_QM1D1B0004 if MEDIA_SUBDRV_AUTOSELECT
	help
	  Support for Earthsoft PT1 PCI cards.

	  Since these cards have no MPEG decoder onboard, they transmit
	  only compressed MPEG data over the PCI bus, so you need
	  an external software decoder to watch TV on your computer.

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

# SPDX-License-Identifier: GPL-2.0-only
config DVB_PT3
	tristate "Earthsoft PT3 cards"
	depends on DVB_CORE && PCI && I2C
	select DVB_TC90522 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_QM1D1C0042 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_MXL301RF if MEDIA_SUBDRV_AUTOSELECT
	help
	  Support for Earthsoft PT3 PCIe cards.

	  Say Y or M if you own such a device and want to use it.
# SPDX-License-Identifier: GPL-2.0-only
config MANTIS_CORE
	tristate "Mantis/Hopper PCI bridge based devices"
	depends on PCI && I2C && INPUT && RC_CORE

	help
	  Support for PCI cards based on the Mantis and Hopper PCi bridge.

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

config DVB_MANTIS
	tristate "MANTIS based cards"
	depends on MANTIS_CORE && DVB_CORE && PCI && I2C
	select DVB_MB86A16 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_ZL10353 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_STV0299 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_LNBP21 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_STB0899 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_STB6100 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TDA665x if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TDA10021 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TDA10023 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_PLL
	help
	  Support for PCI cards based on the Mantis PCI bridge.
	  Say Y when you have a Mantis based DVB card and want to use it.

	  If unsure say N.

config DVB_HOPPER
	tristate "HOPPER based cards"
	depends on MANTIS_CORE && DVB_CORE && PCI && I2C
	select DVB_ZL10353 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_PLL
	help
	  Support for PCI cards based on the Hopper  PCI bridge.
	  Say Y when you have a Hopper based DVB card and want to use it.

	  If unsure say N
# SPDX-License-Identifier: GPL-2.0-only
config DVB_NGENE
	tristate "Micronas nGene support"
	depends on DVB_CORE && PCI && I2C
	select DVB_LNBP21 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_STV6110x if MEDIA_SUBDRV_AUTOSELECT
	select DVB_STV090x if MEDIA_SUBDRV_AUTOSELECT
	select DVB_LGDT330X if MEDIA_SUBDRV_AUTOSELECT
	select DVB_DRXK if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TDA18271C2DD if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_MT2131 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_STV0367 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_CXD2841ER if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_TDA18212 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_STV0910 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_STV6111 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_LNBH25 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_CXD2099 if MEDIA_SUBDRV_AUTOSELECT
	help
	  Support for Micronas PCI express cards with nGene bridge.

# SPDX-License-Identifier: GPL-2.0-only
config DVB_DDBRIDGE
	tristate "Digital Devices bridge support"
	depends on DVB_CORE && PCI && I2C
	select DVB_LNBP21 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_STV6110x if MEDIA_SUBDRV_AUTOSELECT
	select DVB_STV090x if MEDIA_SUBDRV_AUTOSELECT
	select DVB_DRXK if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TDA18271C2DD if MEDIA_SUBDRV_AUTOSELECT
	select DVB_STV0367 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_CXD2841ER if MEDIA_SUBDRV_AUTOSELECT
	select DVB_STV0910 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_STV6111 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_LNBH25 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_TDA18212 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_MXL5XX if MEDIA_SUBDRV_AUTOSELECT
	select DVB_CXD2099 if MEDIA_SUBDRV_AUTOSELECT
	help
	  Support for cards with the Digital Devices PCI express bridge:
	  - Octopus PCIe Bridge
	  - Octopus mini PCIe Bridge
	  - Octopus LE
	  - DuoFlex S2 Octopus
	  - DuoFlex CT Octopus
	  - cineS2(v6)
	  - CineCTv6 and DuoFlex CT (STV0367-based)
	  - CineCTv7 and DuoFlex CT2/C2T2/C2T2I (Sony CXD28xx-based)
	  - MaxA8 series
	  - CineS2 V7/V7A and DuoFlex S2 V4 (ST STV0910-based)
	  - Max S4/8

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

config DVB_DDBRIDGE_MSIENABLE
	bool "Enable Message Signaled Interrupts (MSI) per default (EXPERIMENTAL)"
	depends on DVB_DDBRIDGE
	depends on PCI_MSI
	help
	  Use PCI MSI (Message Signaled Interrupts) per default. Enabling this
	  might lead to I2C errors originating from the bridge in conjunction
	  with certain SATA controllers, requiring a reload of the ddbridge
	  module. MSI can still be disabled by passing msi=0 as option, as
	  this will just change the msi option default value.

	  If you're unsure, concerned about stability and don't want to pass
	  module options in case of troubles, say N.
# SPDX-License-Identifier: GPL-2.0-only
config DVB_SMIPCIE
	tristate "SMI PCIe DVBSky cards"
	depends on DVB_CORE && PCI && I2C
	select I2C_ALGOBIT
	select DVB_M88DS3103 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_SI2168 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TS2020 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_M88RS6000T if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_SI2157 if MEDIA_SUBDRV_AUTOSELECT
	depends on RC_CORE
	help
	  Support for cards with SMI PCIe bridge:
	  - DVBSky S950 V3
	  - DVBSky S952 V3
	  - DVBSky T9580 V3

	  Say Y or M if you own such a device and want to use it.
	  If unsure say N.
# SPDX-License-Identifier: GPL-2.0-only
config DVB_NETUP_UNIDVB
	tristate "NetUP Universal DVB card support"
	depends on DVB_CORE && VIDEO_DEV && PCI && I2C && SPI_MASTER
	select VIDEOBUF2_DVB
	select VIDEOBUF2_VMALLOC
	select DVB_HORUS3A if MEDIA_SUBDRV_AUTOSELECT
	select DVB_ASCOT2E if MEDIA_SUBDRV_AUTOSELECT
	select DVB_HELENE if MEDIA_SUBDRV_AUTOSELECT
	select DVB_LNBH25 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_CXD2841ER if MEDIA_SUBDRV_AUTOSELECT
	help
	  Support for NetUP PCI express Universal DVB card.

	  Say Y when you want to support NetUP Dual Universal DVB card.
	  Card can receive two independent streams in following standards:
		DVB-S/S2, T/T2, C/C2
	  Two CI slots available for CAM modules.
endif

# SPDX-License-Identifier: GPL-2.0-only
# VIDEO_IPU3_CIO2 disabled for insufficient kernel version
config VIDEO_IPU3_CIO2
	tristate "Intel ipu3-cio2 driver"
	depends on VIDEO_V4L2 && PCI
	depends on (X86 && ACPI) || COMPILE_TEST
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select V4L2_FWNODE
	select VIDEOBUF2_DMA_SG

	default n
	depends on VIDEO_KERNEL_VERSION
	---help---
	  WARNING! This driver needs at least kernel 9.255.255!  It may not
	  compile or work correctly on your kernel, which is too old.

	  This is the Intel IPU3 CIO2 CSI-2 receiver unit, found in Intel
	  Skylake and Kaby Lake SoCs and used for capturing images and
	  video from a camera sensor.

	  Say Y or M here if you have a Skylake/Kaby Lake SoC with MIPI CSI-2
	  connected camera.
	  The module will be called ipu3-cio2.

config VIDEO_PCI_SKELETON
	tristate "Skeleton PCI V4L2 driver"
	depends on SAMPLES
	depends on MEDIA_TEST_SUPPORT
	depends on PCI && VIDEO_V4L2
	select VIDEOBUF2_MEMOPS
	select VIDEOBUF2_DMA_CONTIG
	help
	  Enable build of the skeleton PCI driver, used as a reference
	  when developing new drivers.

endif #MEDIA_PCI_SUPPORT
endif #PCI
# SPDX-License-Identifier: GPL-2.0-only
#
# Multimedia Video device configuration
#

menuconfig RADIO_ADAPTERS
	bool "Radio Adapters"
	depends on VIDEO_V4L2
	depends on MEDIA_RADIO_SUPPORT
	default y
	help
	  Say Y here to enable selecting AM/FM radio adapters.

if RADIO_ADAPTERS && VIDEO_V4L2

config RADIO_TEA575X
	tristate

# SPDX-License-Identifier: GPL-2.0-only
config RADIO_SI470X
	tristate "Silicon Labs Si470x FM Radio Receiver support"
	depends on VIDEO_V4L2
	help
	  This is a driver for devices with the Silicon Labs SI470x
	  chip (either via USB or I2C buses).

	  Say Y here if you want to connect this type of radio to your
	  computer's USB port or if it is used by some other driver
	  via I2C bus.

	  To compile this driver as a module, choose M here: the
	  module will be called radio-si470x-common.

config USB_SI470X
	tristate "Silicon Labs Si470x FM Radio Receiver support with USB"
	depends on USB && RADIO_SI470X
	help
	  This is a driver for USB devices with the Silicon Labs SI470x
	  chip. Currently these devices are known to work:
	  - 10c4:818a: Silicon Labs USB FM Radio Reference Design
	  - 06e1:a155: ADS/Tech FM Radio Receiver (formerly Instant FM Music)
	  - 1b80:d700: KWorld USB FM Radio SnapMusic Mobile 700 (FM700)
	  - 10c5:819a: Sanei Electric FM USB Radio (aka DealExtreme.com PCear)

	  Sound is provided by the ALSA USB Audio/MIDI driver. Therefore
	  if you don't want to use the device solely for RDS receiving,
	  it is recommended to also select SND_USB_AUDIO.

	  Please have a look at the documentation, especially on how
	  to redirect the audio stream from the radio to your sound device:
	  Documentation/admin-guide/media/si470x.rst

	  Say Y here if you want to connect this type of radio to your
	  computer's USB port.

	  To compile this driver as a module, choose M here: the
	  module will be called radio-usb-si470x.

config I2C_SI470X
	tristate "Silicon Labs Si470x FM Radio Receiver support with I2C"
	depends on I2C && RADIO_SI470X
	help
	  This is a driver for I2C devices with the Silicon Labs SI470x
	  chip.

	  Say Y here if you want to connect this type of radio to your
	  computer's I2C port.

	  To compile this driver as a module, choose M here: the
	  module will be called radio-i2c-si470x.

config RADIO_SI4713
	tristate "Silicon Labs Si4713 FM Radio with RDS Transmitter support"
	depends on VIDEO_V4L2

# SPDX-License-Identifier: GPL-2.0-only
config USB_SI4713
	tristate "Silicon Labs Si4713 FM Radio Transmitter support with USB"
	depends on USB && I2C && RADIO_SI4713
	select I2C_SI4713
	help
	  This is a driver for USB devices with the Silicon Labs SI4713
	  chip. Currently these devices are known to work.
	  - 10c4:8244: Silicon Labs FM Transmitter USB device.

	  Say Y here if you want to connect this type of radio to your
	  computer's USB port.

	  To compile this driver as a module, choose M here: the
	  module will be called radio-usb-si4713.

config PLATFORM_SI4713
	tristate "Silicon Labs Si4713 FM Radio Transmitter support with I2C"
	depends on I2C && RADIO_SI4713
	select I2C_SI4713
	help
	  This is a driver for I2C devices with the Silicon Labs SI4713
	  chip.

	  Say Y here if you want to connect this type of radio to your
	  computer's I2C port.

	  To compile this driver as a module, choose M here: the
	  module will be called radio-platform-si4713.

config I2C_SI4713
	tristate "Silicon Labs Si4713 FM Radio Transmitter support"
	depends on I2C && RADIO_SI4713
	help
	  Say Y here if you want support to Si4713 FM Radio Transmitter.
	  This device can transmit audio through FM. It can transmit
	  RDS and RBDS signals as well. This module is the v4l2 radio
	  interface for the i2c driver of this device.

	  To compile this driver as a module, choose M here: the
	  module will be called si4713.

config RADIO_SI476X
	tristate "Silicon Laboratories Si476x I2C FM Radio"
	depends on I2C && VIDEO_V4L2
	depends on MFD_SI476X_CORE
	depends on SND_SOC
	select SND_SOC_SI476X
	help
	  Choose Y here if you have this FM radio chip.

	  In order to control your radio card, you will need to use programs
	  that are compatible with the Video For Linux 2 API.  Information on
	  this API and pointers to "v4l2" programs may be found at
	  <file:Documentation/userspace-api/media/index.rst>.

	  To compile this driver as a module, choose M here: the
	  module will be called radio-si476x.

config USB_MR800
	tristate "AverMedia MR 800 USB FM radio support"
	depends on USB && VIDEO_V4L2
	help
	  Say Y here if you want to connect this type of radio to your
	  computer's USB port. Note that the audio is not digital, and
	  you must connect the line out connector to a sound card or a
	  set of speakers.

	  To compile this driver as a module, choose M here: the
	  module will be called radio-mr800.

config USB_DSBR
	tristate "D-Link/GemTek USB FM radio support"
	depends on USB && VIDEO_V4L2
	help
	  Say Y here if you want to connect this type of radio to your
	  computer's USB port. Note that the audio is not digital, and
	  you must connect the line out connector to a sound card or a
	  set of speakers.

	  To compile this driver as a module, choose M here: the
	  module will be called dsbr100.

config RADIO_MAXIRADIO
	tristate "Guillemot MAXI Radio FM 2000 radio"
	depends on VIDEO_V4L2 && PCI
	select RADIO_TEA575X
	help
	  Choose Y here if you have this radio card.  This card may also be
	  found as Gemtek PCI FM.

	  In order to control your radio card, you will need to use programs
	  that are compatible with the Video For Linux API.  Information on
	  this API and pointers to "v4l" programs may be found at
	  <file:Documentation/userspace-api/media/index.rst>.

	  To compile this driver as a module, choose M here: the
	  module will be called radio-maxiradio.

config RADIO_SHARK
	tristate "Griffin radioSHARK USB radio receiver"
	depends on USB
	select RADIO_TEA575X
	help
	  Choose Y here if you have this radio receiver.

	  There are 2 versions of this device, this driver is for version 1,
	  which is white.

	  In order to control your radio card, you will need to use programs
	  that are compatible with the Video For Linux API.  Information on
	  this API and pointers to "v4l" programs may be found at
	  <file:Documentation/userspace-api/media/index.rst>.

	  To compile this driver as a module, choose M here: the
	  module will be called radio-shark.

config RADIO_SHARK2
	tristate "Griffin radioSHARK2 USB radio receiver"
	depends on USB
	help
	  Choose Y here if you have this radio receiver.

	  There are 2 versions of this device, this driver is for version 2,
	  which is black.

	  In order to control your radio card, you will need to use programs
	  that are compatible with the Video For Linux API.  Information on
	  this API and pointers to "v4l" programs may be found at
	  <file:Documentation/userspace-api/media/index.rst>.

	  To compile this driver as a module, choose M here: the
	  module will be called radio-shark2.

config USB_KEENE
	tristate "Keene FM Transmitter USB support"
	depends on USB && VIDEO_V4L2
	help
	  Say Y here if you want to connect this type of FM transmitter
	  to your computer's USB port.

	  To compile this driver as a module, choose M here: the
	  module will be called radio-keene.

config USB_RAREMONO
	tristate "Thanko's Raremono AM/FM/SW radio support"
	depends on USB && VIDEO_V4L2
	help
	  The 'Thanko's Raremono' device contains the Si4734 chip from Silicon Labs Inc.
	  It is one of the very few or perhaps the only consumer USB radio device
	  to receive the AM/FM/SW bands.

	  Say Y here if you want to connect this type of AM/FM/SW receiver
	  to your computer's USB port.

	  To compile this driver as a module, choose M here: the
	  module will be called radio-raremono.

config USB_MA901
	tristate "Masterkit MA901 USB FM radio support"
	depends on USB && VIDEO_V4L2
	help
	  Say Y here if you want to connect this type of radio to your
	  computer's USB port. Note that the audio is not digital, and
	  you must connect the line out connector to a sound card or a
	  set of speakers or headphones.

	  To compile this driver as a module, choose M here: the
	  module will be called radio-ma901.

config RADIO_TEA5764
	tristate "TEA5764 I2C FM radio support"
	depends on I2C && VIDEO_V4L2
	help
	  Say Y here if you want to use the TEA5764 FM chip found in
	  EZX phones. This FM chip is present in EZX phones from Motorola,
	  connected to internal pxa I2C bus.

	  To compile this driver as a module, choose M here: the
	  module will be called radio-tea5764.

config RADIO_TEA5764_XTAL
	bool "TEA5764 crystal reference"
	depends on RADIO_TEA5764=y
	default y
	help
	  Say Y here if TEA5764 have a 32768 Hz crystal in circuit, say N
	  here if TEA5764 reference frequency is connected in FREQIN.

config RADIO_SAA7706H
	tristate "SAA7706H Car Radio DSP"
	depends on I2C && VIDEO_V4L2
	help
	  Say Y here if you want to use the SAA7706H Car radio Digital
	  Signal Processor, found for instance on the Russellville development
	  board. On the russellville the device is connected to internal
	  timberdale I2C bus.

	  To compile this driver as a module, choose M here: the
	  module will be called SAA7706H.

config RADIO_TEF6862
	tristate "TEF6862 Car Radio Enhanced Selectivity Tuner"
	depends on I2C && VIDEO_V4L2
	help
	  Say Y here if you want to use the TEF6862 Car Radio Enhanced
	  Selectivity Tuner, found for instance on the Russellville development
	  board. On the russellville the device is connected to internal
	  timberdale I2C bus.

	  To compile this driver as a module, choose M here: the
	  module will be called TEF6862.

config RADIO_TIMBERDALE
	tristate "Enable the Timberdale radio driver"
	depends on MFD_TIMBERDALE && VIDEO_V4L2
	depends on I2C	# for RADIO_SAA7706H
	select RADIO_TEF6862
	select RADIO_SAA7706H
	help
	  This is a kind of umbrella driver for the Radio Tuner and DSP
	  found behind the Timberdale FPGA on the Russellville board.
	  Enabling this driver will automatically select the DSP and tuner.

config RADIO_WL1273
	tristate "Texas Instruments WL1273 I2C FM Radio"
	depends on I2C && VIDEO_V4L2
	select MFD_CORE
	select MFD_WL1273_CORE
	select FW_LOADER
	help
	  Choose Y here if you have this FM radio chip.

	  In order to control your radio card, you will need to use programs
	  that are compatible with the Video For Linux 2 API.  Information on
	  this API and pointers to "v4l2" programs may be found at
	  <file:Documentation/userspace-api/media/index.rst>.

	  To compile this driver as a module, choose M here: the
	  module will be called radio-wl1273.

# TI's ST based wl128x FM radio
# SPDX-License-Identifier: GPL-2.0-only
#
# TI's wl128x FM driver based on TI's ST driver.
#
config RADIO_WL128X
	tristate "Texas Instruments WL128x FM Radio"
	depends on VIDEO_V4L2 && RFKILL && TTY && TI_ST
	depends on GPIOLIB || COMPILE_TEST
	help
	  Choose Y here if you have this FM radio chip.

	  In order to control your radio card, you will need to use programs
	  that are compatible with the Video For Linux 2 API.  Information on
	  this API and pointers to "v4l2" programs may be found at
	  <file:Documentation/userspace-api/media/index.rst>.

#
# ISA drivers configuration
#

menuconfig V4L_RADIO_ISA_DRIVERS
	bool "ISA radio devices"
	depends on ISA || COMPILE_TEST
	help
	  Say Y here to enable support for these ISA drivers.

if V4L_RADIO_ISA_DRIVERS

config RADIO_ISA
	depends on ISA || COMPILE_TEST
	tristate

config RADIO_CADET
	tristate "ADS Cadet AM/FM Tuner"
	depends on ISA || COMPILE_TEST
	depends on VIDEO_V4L2
	help
	  Choose Y here if you have one of these AM/FM radio cards, and then
	  fill in the port address below.

	  To compile this driver as a module, choose M here: the
	  module will be called radio-cadet.

config RADIO_RTRACK
	tristate "AIMSlab RadioTrack (aka RadioReveal) support"
	depends on ISA || COMPILE_TEST
	depends on VIDEO_V4L2
	select RADIO_ISA
	help
	  Choose Y here if you have one of these FM radio cards, and then fill
	  in the port address below.

	  Note that newer AIMSlab RadioTrack cards have a different chipset
	  and are not supported by this driver.  For these cards, use the
	  RadioTrack II driver below.

	  If you have a GemTeks combined (PnP) sound- and radio card you must
	  use this driver as a module and setup the card with isapnptools.
	  You must also pass the module a suitable io parameter, 0x248 has
	  been reported to be used by these cards.

	  More information is contained in the file
	  <file:Documentation/driver-api/media/drivers/radiotrack.rst>.

	  To compile this driver as a module, choose M here: the
	  module will be called radio-aimslab.

config RADIO_RTRACK_PORT
	hex "RadioTrack i/o port (0x20f or 0x30f)"
	depends on RADIO_RTRACK=y
	default "30f"
	help
	  Enter either 0x30f or 0x20f here.  The card default is 0x30f, if you
	  haven't changed the jumper setting on the card.

config RADIO_RTRACK2
	tristate "AIMSlab RadioTrack II support"
	depends on ISA || COMPILE_TEST
	depends on VIDEO_V4L2
	select RADIO_ISA
	help
	  Choose Y here if you have this FM radio card, and then fill in the
	  port address below.

	  Note: this driver hasn't been tested since a long time due to lack
	  of hardware. If you have this hardware, then please contact the
	  linux-media mailinglist.

	  To compile this driver as a module, choose M here: the
	  module will be called radio-rtrack2.

config RADIO_RTRACK2_PORT
	hex "RadioTrack II i/o port (0x20c or 0x30c)"
	depends on RADIO_RTRACK2=y
	default "30c"
	help
	  Enter either 0x30c or 0x20c here.  The card default is 0x30c, if you
	  haven't changed the jumper setting on the card.

config RADIO_AZTECH
	tristate "Aztech/Packard Bell Radio"
	depends on ISA || COMPILE_TEST
	depends on VIDEO_V4L2
	select RADIO_ISA
	help
	  Choose Y here if you have one of these FM radio cards, and then fill
	  in the port address below.

	  To compile this driver as a module, choose M here: the
	  module will be called radio-aztech.

config RADIO_AZTECH_PORT
	hex "Aztech/Packard Bell I/O port (0x350 or 0x358)"
	depends on RADIO_AZTECH=y
	default "350"
	help
	  Enter either 0x350 or 0x358 here.  The card default is 0x350, if you
	  haven't changed the setting of jumper JP3 on the card.  Removing the
	  jumper sets the card to 0x358.

config RADIO_GEMTEK
	tristate "GemTek Radio card (or compatible) support"
	depends on ISA || COMPILE_TEST
	depends on VIDEO_V4L2
	select RADIO_ISA
	help
	  Choose Y here if you have this FM radio card, and then fill in the
	  I/O port address and settings below. The following cards either have
	  GemTek Radio tuner or are rebranded GemTek Radio cards:

	  - Sound Vision 16 Gold with FM Radio
	  - Typhoon Radio card (some models)
	  - Hama Radio card

	  To compile this driver as a module, choose M here: the
	  module will be called radio-gemtek.

config RADIO_GEMTEK_PORT
	hex "Fixed I/O port (0x20c, 0x30c, 0x24c, 0x34c, 0x248 or 0x28c)"
	depends on RADIO_GEMTEK=y
	default "34c"
	help
	  Enter either 0x20c, 0x30c, 0x24c, 0x34c, 0x248 or 0x28c here. The
	  card default is 0x34c, if you haven't changed the jumper setting
	  on the card.

	  On Sound Vision 16 Gold PnP with FM Radio (ESS1869+FM Gemtek), the I/O
	  port is 0x20c, 0x248 or 0x28c.

	  If automatic I/O port probing is enabled this port will be used only
	  in case of automatic probing failure, ie. as a fallback.

config RADIO_GEMTEK_PROBE
	bool "Automatic I/O port probing"
	depends on RADIO_GEMTEK=y
	default y
	help
	  Say Y here to enable automatic probing for GemTek Radio card. The
	  following ports will be probed: 0x20c, 0x30c, 0x24c, 0x34c, 0x248 and
	  0x28c.

config RADIO_MIROPCM20
	tristate "miroSOUND PCM20 radio"
	depends on ISA || COMPILE_TEST
	depends on ISA_DMA_API && VIDEO_V4L2 && SND
	select SND_ISA
	select SND_MIRO
	help
	  Choose Y here if you have this FM radio card. You also need to enable
	  the ALSA sound system. This choice automatically selects the ALSA
	  sound card driver "Miro miroSOUND PCM1pro/PCM12/PCM20radio" as this
	  is required for the radio-miropcm20.

	  To compile this driver as a module, choose M here: the
	  module will be called radio-miropcm20.

config RADIO_SF16FMI
	tristate "SF16-FMI/SF16-FMP/SF16-FMD Radio"
	depends on ISA || COMPILE_TEST
	depends on VIDEO_V4L2
	help
	  Choose Y here if you have one of these FM radio cards.

	  To compile this driver as a module, choose M here: the
	  module will be called radio-sf16fmi.

config RADIO_SF16FMR2
	tristate "SF16-FMR2/SF16-FMD2 Radio"
	depends on ISA || COMPILE_TEST
	depends on VIDEO_V4L2
	select RADIO_TEA575X
	help
	  Choose Y here if you have one of these FM radio cards.

	  To compile this driver as a module, choose M here: the
	  module will be called radio-sf16fmr2.

config RADIO_TERRATEC
	tristate "TerraTec ActiveRadio ISA Standalone"
	depends on ISA || COMPILE_TEST
	depends on VIDEO_V4L2
	select RADIO_ISA
	help
	  Choose Y here if you have this FM radio card.

	  Note: this driver hasn't been tested since a long time due to lack
	  of hardware. If you have this hardware, then please contact the
	  linux-media mailinglist.

	  To compile this driver as a module, choose M here: the
	  module will be called radio-terratec.

config RADIO_TRUST
	tristate "Trust FM radio card"
	depends on ISA || COMPILE_TEST
	depends on VIDEO_V4L2
	select RADIO_ISA
	help
	  This is a driver for the Trust FM radio cards. Say Y if you have
	  such a card and want to use it under Linux.

	  Note: this driver hasn't been tested since a long time due to lack
	  of hardware. If you have this hardware, then please contact the
	  linux-media mailinglist.

	  To compile this driver as a module, choose M here: the
	  module will be called radio-trust.

config RADIO_TRUST_PORT
	hex "Trust i/o port (usually 0x350 or 0x358)"
	depends on RADIO_TRUST=y
	default "350"
	help
	  Enter the I/O port of your Trust FM radio card. If unsure, try the
	  values "0x350" or "0x358".

config RADIO_TYPHOON
	tristate "Typhoon Radio (a.k.a. EcoRadio)"
	depends on ISA || COMPILE_TEST
	depends on VIDEO_V4L2
	select RADIO_ISA
	help
	  Choose Y here if you have one of these FM radio cards, and then fill
	  in the port address and the frequency used for muting below.

	  Note: this driver hasn't been tested since a long time due to lack
	  of hardware. If you have this hardware, then please contact the
	  linux-media mailinglist.

	  To compile this driver as a module, choose M here: the
	  module will be called radio-typhoon.

config RADIO_TYPHOON_PORT
	hex "Typhoon I/O port (0x316 or 0x336)"
	depends on RADIO_TYPHOON=y
	default "316"
	help
	  Enter the I/O port of your Typhoon or EcoRadio radio card.

config RADIO_TYPHOON_MUTEFREQ
	int "Typhoon frequency set when muting the device (kHz)"
	depends on RADIO_TYPHOON=y
	default "87500"
	help
	  Enter the frequency used for muting the radio. The device is never
	  completely silent. If the volume is just turned down, you can still
	  hear silent voices and music. For that reason, the frequency of the
	  radio device is set to the frequency you can enter here whenever
	  the device is muted. There should be no local radio station at that
	  frequency.

config RADIO_ZOLTRIX
	tristate "Zoltrix Radio"
	depends on ISA || COMPILE_TEST
	depends on VIDEO_V4L2
	select RADIO_ISA
	help
	  Choose Y here if you have one of these FM radio cards, and then fill
	  in the port address below.

	  Note: this driver hasn't been tested since a long time due to lack
	  of hardware. If you have this hardware, then please contact the
	  linux-media mailinglist.

	  To compile this driver as a module, choose M here: the
	  module will be called radio-zoltrix.

config RADIO_ZOLTRIX_PORT
	hex "ZOLTRIX I/O port (0x20c or 0x30c)"
	depends on RADIO_ZOLTRIX=y
	default "20c"
	help
	  Enter the I/O port of your Zoltrix radio card.

endif # V4L_RADIO_ISA_DRIVERS

endif # RADIO_ADAPTERS

# Common driver options
# SPDX-License-Identifier: GPL-2.0-only
# Used by common drivers, when they need to ask questions
config MEDIA_COMMON_OPTIONS
	bool

comment "common driver options"
	depends on MEDIA_COMMON_OPTIONS

config VIDEO_CX2341X
	tristate

config VIDEO_TVEEPROM
	tristate
	depends on I2C

config CYPRESS_FIRMWARE
	tristate
	depends on USB

# SPDX-License-Identifier: GPL-2.0-only
# Used by drivers that need Videobuf2 modules
config VIDEOBUF2_CORE
	select DMA_SHARED_BUFFER
	tristate

config VIDEOBUF2_V4L2
	tristate

config VIDEOBUF2_MEMOPS
	tristate
	select FRAME_VECTOR

config VIDEOBUF2_DMA_CONTIG
	tristate
	select VIDEOBUF2_CORE
	select VIDEOBUF2_MEMOPS
	select DMA_SHARED_BUFFER

config VIDEOBUF2_VMALLOC
	tristate
	select VIDEOBUF2_CORE
	select VIDEOBUF2_MEMOPS
	select DMA_SHARED_BUFFER

config VIDEOBUF2_DMA_SG
	tristate
	select VIDEOBUF2_CORE
	select VIDEOBUF2_MEMOPS

config VIDEOBUF2_DVB
	tristate
	select VIDEOBUF2_CORE
# SPDX-License-Identifier: GPL-2.0-only
config DVB_B2C2_FLEXCOP
	tristate
	depends on DVB_CORE && I2C
	depends on DVB_B2C2_FLEXCOP_PCI || DVB_B2C2_FLEXCOP_USB
	default y
	select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT
	select DVB_STV0299 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_MT352 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_MT312 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_NXT200X if MEDIA_SUBDRV_AUTOSELECT
	select DVB_STV0297 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_BCM3510 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_LGDT330X if MEDIA_SUBDRV_AUTOSELECT
	select DVB_S5H1420 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TUNER_ITD1000 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_ISL6421 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_CX24120 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_CX24123 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_SIMPLE if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TUNER_CX24113 if MEDIA_SUBDRV_AUTOSELECT

# Selected via the PCI or USB flexcop drivers
config DVB_B2C2_FLEXCOP_DEBUG
	bool
# SPDX-License-Identifier: GPL-2.0-only
config VIDEO_SAA7146
	tristate
	depends on I2C && PCI

config VIDEO_SAA7146_VV
	tristate
	depends on VIDEO_V4L2
	select VIDEOBUF_DMA_SG
	select VIDEO_SAA7146
# SPDX-License-Identifier: GPL-2.0-only
#
# Siano Mobile Silicon Digital TV device configuration
#

config SMS_SIANO_MDTV
	tristate
	depends on DVB_CORE && HAS_DMA
	depends on !RC_CORE || RC_CORE
	depends on SMS_USB_DRV || SMS_SDIO_DRV
	default y

config SMS_SIANO_RC
	bool "Enable Remote Controller support for Siano devices"
	depends on SMS_SIANO_MDTV && RC_CORE
	depends on SMS_USB_DRV || SMS_SDIO_DRV
	depends on MEDIA_COMMON_OPTIONS
	default y
	help
	  Choose Y to select Remote Controller support for Siano driver.

config SMS_SIANO_DEBUGFS
	bool "Enable debugfs for smsdvb"
	depends on SMS_SIANO_MDTV
	depends on DEBUG_FS
	depends on SMS_USB_DRV = SMS_SDIO_DRV

	help
	  Choose Y to enable visualizing a dump of the frontend
	  statistics response packets via debugfs. Currently, works
	  only with Siano USB devices.

	  Useful only for developers. In doubt, say N.
# SPDX-License-Identifier: GPL-2.0-only
config VIDEO_V4L2_TPG
	tristate

if MEDIA_PLATFORM_SUPPORT
# SPDX-License-Identifier: GPL-2.0-only
#
# Platform drivers
#	Most drivers here are currently for webcam support

menuconfig V4L_PLATFORM_DRIVERS
	bool "V4L platform devices"
	help
	  Say Y here to enable support for platform-specific V4L drivers.

if V4L_PLATFORM_DRIVERS

# SPDX-License-Identifier: GPL-2.0-only
config VIDEO_CAFE_CCIC
	tristate "Marvell 88ALP01 (Cafe) CMOS Camera Controller support"
	depends on PCI && I2C && VIDEO_V4L2
	depends on COMMON_CLK
	select VIDEO_OV7670
	select VIDEOBUF2_VMALLOC
	select VIDEOBUF2_DMA_CONTIG
	select VIDEOBUF2_DMA_SG
	help
	  This is a video4linux2 driver for the Marvell 88ALP01 integrated
	  CMOS camera controller.  This is the controller found on first-
	  generation OLPC systems.

config VIDEO_MMP_CAMERA
	tristate "Marvell Armada 610 integrated camera controller support"
	depends on I2C && VIDEO_V4L2
	depends on ARCH_MMP || COMPILE_TEST
	depends on COMMON_CLK
	select VIDEO_OV7670
	select I2C_GPIO
	select VIDEOBUF2_VMALLOC
	select VIDEOBUF2_DMA_CONTIG
	select VIDEOBUF2_DMA_SG
	help
	  This is a Video4Linux2 driver for the integrated camera
	  controller found on Marvell Armada 610 application
	  processors (and likely beyond).  This is the controller found
	  in OLPC XO 1.75 systems.


config VIDEO_VIA_CAMERA
	tristate "VIAFB camera controller support"
	depends on FB_VIA && VIDEO_V4L2
	select VIDEOBUF2_DMA_SG
	select VIDEO_OV7670
	help
	   Driver support for the integrated camera controller in VIA
	   Chrome9 chipsets.  Currently only tested on OLPC xo-1.5 systems
	   with ov7670 sensors.

#
# Platform multimedia device configuration
#
# SPDX-License-Identifier: GPL-2.0-only
config VIDEO_CADENCE
	bool "Cadence Video Devices"
	help
	  If you have a media device designed by Cadence, say Y.

	  Note that this option doesn't include new drivers in the kernel:
	  saying N will just cause Kconfig to skip all the questions about
	  Cadence media devices.

if VIDEO_CADENCE

config VIDEO_CADENCE_CSI2RX
	tristate "Cadence MIPI-CSI2 RX Controller"
	depends on VIDEO_V4L2
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select V4L2_FWNODE
	help
	  Support for the Cadence MIPI CSI2 Receiver controller.

	  To compile this driver as a module, choose M here: the module will be
	  called cdns-csi2rx.

config VIDEO_CADENCE_CSI2TX
	tristate "Cadence MIPI-CSI2 TX Controller"
	depends on VIDEO_V4L2
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select V4L2_FWNODE
	help
	  Support for the Cadence MIPI CSI2 Transceiver controller.

	  To compile this driver as a module, choose M here: the module will be
	  called cdns-csi2tx.

endif

# SPDX-License-Identifier: GPL-2.0-only
config VIDEO_DAVINCI_VPIF_DISPLAY
	tristate "TI DaVinci VPIF V4L2-Display driver"
	depends on VIDEO_V4L2
	depends on ARCH_DAVINCI || COMPILE_TEST
	depends on I2C
	select VIDEOBUF2_DMA_CONTIG
	select VIDEO_ADV7343 if MEDIA_SUBDRV_AUTOSELECT
	select VIDEO_THS7303 if MEDIA_SUBDRV_AUTOSELECT
	help
	  Enables Davinci VPIF module used for display devices.
	  This module is used for display on TI DM6467/DA850/OMAPL138
	  SoCs.

	  To compile this driver as a module, choose M here. There will
	  be two modules called vpif.ko and vpif_display.ko

config VIDEO_DAVINCI_VPIF_CAPTURE
	tristate "TI DaVinci VPIF video capture driver"
	depends on VIDEO_V4L2
	depends on ARCH_DAVINCI || COMPILE_TEST
	depends on I2C
	select VIDEOBUF2_DMA_CONTIG
	select V4L2_FWNODE
	help
	  Enables Davinci VPIF module used for capture devices.
	  This module is used for capture on TI DM6467/DA850/OMAPL138
	  SoCs.

	  To compile this driver as a module, choose M here. There will
	  be two modules called vpif.ko and vpif_capture.ko

config VIDEO_DM6446_CCDC
	tristate "TI DM6446 CCDC video capture driver"
	depends on VIDEO_V4L2
	depends on ARCH_DAVINCI || COMPILE_TEST
	depends on I2C
	select VIDEOBUF_DMA_CONTIG
	help
	   Enables DaVinci CCD hw module. DaVinci CCDC hw interfaces
	   with decoder modules such as TVP5146 over BT656 or
	   sensor module such as MT9T001 over a raw interface. This
	   module configures the interface and CCDC/ISIF to do
	   video frame capture from slave decoders.

	   To compile this driver as a module, choose M here. There will
	   be three modules called vpfe_capture.ko, vpss.ko and dm644x_ccdc.ko

config VIDEO_DM355_CCDC
	tristate "TI DM355 CCDC video capture driver"
	depends on VIDEO_V4L2
	depends on ARCH_DAVINCI || COMPILE_TEST
	depends on I2C
	select VIDEOBUF_DMA_CONTIG
	help
	   Enables DM355 CCD hw module. DM355 CCDC hw interfaces
	   with decoder modules such as TVP5146 over BT656 or
	   sensor module such as MT9T001 over a raw interface. This
	   module configures the interface and CCDC/ISIF to do
	   video frame capture from a slave decoders

	   To compile this driver as a module, choose M here. There will
	   be three modules called vpfe_capture.ko, vpss.ko and dm355_ccdc.ko

config VIDEO_DM365_ISIF
	tristate "TI DM365 ISIF video capture driver"
	depends on VIDEO_V4L2
	depends on ARCH_DAVINCI || COMPILE_TEST
	depends on I2C
	select VIDEOBUF_DMA_CONTIG
	help
	   Enables ISIF hw module. This is the hardware module for
	   configuring ISIF in VPFE to capture Raw Bayer RGB data from
	   a image sensor or YUV data from a YUV source.

	   To compile this driver as a module, choose M here. There will
	   be three modules called vpfe_capture.ko, vpss.ko and isif.ko

config VIDEO_DAVINCI_VPBE_DISPLAY
	tristate "TI DaVinci VPBE V4L2-Display driver"
	depends on VIDEO_V4L2
	depends on ARCH_DAVINCI || COMPILE_TEST
	depends on I2C
	select VIDEOBUF2_DMA_CONTIG
	help
	    Enables Davinci VPBE module used for display devices.
	    This module is used for display on TI DM644x/DM365/DM355
	    based display devices.

	    To compile this driver as a module, choose M here. There will
	    be five modules created called vpss.ko, vpbe.ko, vpbe_osd.ko,
	    vpbe_venc.ko and vpbe_display.ko

# SPDX-License-Identifier: GPL-2.0-only
config VIDEO_OMAP2_VOUT_VRFB
	bool
	default y
	depends on VIDEO_OMAP2_VOUT && (OMAP2_VRFB || COMPILE_TEST)

config VIDEO_OMAP2_VOUT
	tristate "OMAP2/OMAP3 V4L2-Display driver"
	depends on MMU
	depends on FB_OMAP2 || (COMPILE_TEST && FB_OMAP2=n)
	depends on ARCH_OMAP2 || ARCH_OMAP3 || COMPILE_TEST
	depends on VIDEO_V4L2
	select VIDEOBUF2_DMA_CONTIG
	select OMAP2_VRFB if ARCH_OMAP2 || ARCH_OMAP3
	select FRAME_VECTOR
	help
	  V4L2 Display driver support for OMAP2/3 based boards.

config VIDEO_ASPEED
	tristate "Aspeed AST2400 and AST2500 Video Engine driver"
	depends on VIDEO_V4L2
	select VIDEOBUF2_DMA_CONTIG
	help
	  Support for the Aspeed Video Engine (VE) embedded in the Aspeed
	  AST2400 and AST2500 SOCs. The VE can capture and compress video data
	  from digital or analog sources.

config VIDEO_SH_VOU
	tristate "SuperH VOU video output driver"
	depends on VIDEO_DEV && I2C
	depends on ARCH_SHMOBILE || COMPILE_TEST
	select VIDEOBUF2_DMA_CONTIG
	help
	  Support for the Video Output Unit (VOU) on SuperH SoCs.

config VIDEO_VIU
	tristate "Freescale VIU Video Driver"
	depends on VIDEO_V4L2 && (PPC_MPC512x || COMPILE_TEST) && I2C
	select VIDEOBUF_DMA_CONTIG
	default y
	help
	  Support for Freescale VIU video driver. This device captures
	  video data, or overlays video on DIU frame buffer.

	  Say Y here if you want to enable VIU device on MPC5121e Rev2+.
	  In doubt, say N.

config VIDEO_MUX
	tristate "Video Multiplexer"
	select MULTIPLEXER
	depends on VIDEO_V4L2 && OF
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select REGMAP
	select V4L2_FWNODE
	help
	  This driver provides support for N:1 video bus multiplexers.

# VIDEO_OMAP3 disabled for insufficient kernel version
config VIDEO_OMAP3
	tristate "OMAP 3 Camera support"
	depends on VIDEO_V4L2 && I2C
	depends on (ARCH_OMAP3 && OMAP_IOMMU) || COMPILE_TEST
	depends on COMMON_CLK && OF
	select ARM_DMA_USE_IOMMU if OMAP_IOMMU
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select VIDEOBUF2_DMA_CONTIG
	select MFD_SYSCON
	select V4L2_FWNODE
	default n
	depends on VIDEO_KERNEL_VERSION
	---help---
	  WARNING! This driver needs at least kernel 9.255.255!  It may not
	  compile or work correctly on your kernel, which is too old.

	  Driver for an OMAP 3 camera controller.

config VIDEO_OMAP3_DEBUG
	bool "OMAP 3 Camera debug messages"
	depends on VIDEO_OMAP3
	help
	  Enable debug messages on OMAP 3 camera controller driver.

config VIDEO_PXA27x
	tristate "PXA27x Quick Capture Interface driver"
	depends on VIDEO_DEV && VIDEO_V4L2
	depends on PXA27x || COMPILE_TEST
	select VIDEOBUF2_DMA_SG
	select SG_SPLIT
	select V4L2_FWNODE
	help
	  This is a v4l2 driver for the PXA27x Quick Capture Interface

config VIDEO_QCOM_CAMSS
	tristate "Qualcomm V4L2 Camera Subsystem driver"
	depends on VIDEO_V4L2
	depends on (ARCH_QCOM && IOMMU_DMA) || COMPILE_TEST
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select VIDEOBUF2_DMA_SG
	select V4L2_FWNODE

config VIDEO_S3C_CAMIF
	tristate "Samsung S3C24XX/S3C64XX SoC Camera Interface driver"
	depends on VIDEO_V4L2 && I2C && PM
	depends on ARCH_S3C64XX || PLAT_S3C24XX || COMPILE_TEST
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select VIDEOBUF2_DMA_CONTIG
	help
	  This is a v4l2 driver for s3c24xx and s3c64xx SoC series camera
	  host interface (CAMIF).

	  To compile this driver as a module, choose M here: the module
	  will be called s3c-camif.

config VIDEO_STM32_DCMI
	tristate "STM32 Digital Camera Memory Interface (DCMI) support"
	depends on VIDEO_V4L2 && OF
	depends on ARCH_STM32 || COMPILE_TEST
	select VIDEOBUF2_DMA_CONTIG
	select MEDIA_CONTROLLER
	select V4L2_FWNODE
	help
	  This module makes the STM32 Digital Camera Memory Interface (DCMI)
	  available as a v4l2 device.

	  To compile this driver as a module, choose M here: the module
	  will be called stm32-dcmi.

config VIDEO_RENESAS_CEU
	tristate "Renesas Capture Engine Unit (CEU) driver"
	depends on VIDEO_DEV && VIDEO_V4L2
	depends on ARCH_SHMOBILE || ARCH_R7S72100 || COMPILE_TEST
	select VIDEOBUF2_DMA_CONTIG
	select V4L2_FWNODE
	help
	  This is a v4l2 driver for the Renesas CEU Interface

# SPDX-License-Identifier: GPL-2.0-only

config VIDEO_SAMSUNG_EXYNOS4_IS
	tristate "Samsung S5P/EXYNOS4 SoC series Camera Subsystem driver"
	depends on VIDEO_V4L2 && OF && COMMON_CLK
	depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select V4L2_FWNODE
	help
	  Say Y here to enable camera host interface devices for
	  Samsung S5P and EXYNOS SoC series.

if VIDEO_SAMSUNG_EXYNOS4_IS

config VIDEO_EXYNOS4_IS_COMMON
	tristate

config VIDEO_S5P_FIMC
	tristate "S5P/EXYNOS4 FIMC/CAMIF camera interface driver"
	depends on I2C
	depends on HAS_DMA
	select VIDEOBUF2_DMA_CONTIG
	select V4L2_MEM2MEM_DEV
	select MFD_SYSCON
	select VIDEO_EXYNOS4_IS_COMMON
	help
	  This is a V4L2 driver for Samsung S5P and EXYNOS4 SoC camera host
	  interface and video postprocessor (FIMC) devices.

	  To compile this driver as a module, choose M here: the
	  module will be called s5p-fimc.

config VIDEO_S5P_MIPI_CSIS
	tristate "S5P/EXYNOS MIPI-CSI2 receiver (MIPI-CSIS) driver"
	depends on REGULATOR
	select GENERIC_PHY
	select V4L2_FWNODE
	help
	  This is a V4L2 driver for Samsung S5P and EXYNOS4 SoC MIPI-CSI2
	  receiver (MIPI-CSIS) devices.

	  To compile this driver as a module, choose M here: the
	  module will be called s5p-csis.

config VIDEO_EXYNOS_FIMC_LITE
	tristate "EXYNOS FIMC-LITE camera interface driver"
	depends on I2C
	depends on SOC_EXYNOS4412 || SOC_EXYNOS5250 || COMPILE_TEST
	depends on HAS_DMA
	select VIDEOBUF2_DMA_CONTIG
	select VIDEO_EXYNOS4_IS_COMMON
	help
	  This is a V4L2 driver for Samsung EXYNOS4/5 SoC FIMC-LITE camera
	  host interface.

	  To compile this driver as a module, choose M here: the
	  module will be called exynos-fimc-lite.

config VIDEO_EXYNOS4_FIMC_IS
	tristate "EXYNOS4x12 FIMC-IS (Imaging Subsystem) driver"
	depends on I2C
	depends on HAS_DMA
	select VIDEOBUF2_DMA_CONTIG
	depends on OF
	select FW_LOADER
	help
	  This is a V4L2 driver for Samsung EXYNOS4x12 SoC series
	  FIMC-IS (Imaging Subsystem).

	  To compile this driver as a module, choose M here: the
	  module will be called exynos4-fimc-is.

config VIDEO_EXYNOS4_ISP_DMA_CAPTURE
	bool "EXYNOS4x12 FIMC-IS ISP Direct DMA capture support"
	depends on VIDEO_EXYNOS4_FIMC_IS
	select VIDEO_EXYNOS4_IS_COMMON
	default y
	help
	  This option enables an additional video device node exposing a V4L2
	  video capture interface for the FIMC-IS ISP raw (Bayer) capture DMA.

endif # VIDEO_SAMSUNG_EXYNOS4_IS
# SPDX-License-Identifier: GPL-2.0-only
config VIDEO_AM437X_VPFE
	tristate "TI AM437x VPFE video capture driver"
	depends on VIDEO_V4L2
	depends on SOC_AM43XX || COMPILE_TEST
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select VIDEOBUF2_DMA_CONTIG
	select V4L2_FWNODE
	help
	   Support for AM437x Video Processing Front End based Video
	   Capture Driver.

	   To compile this driver as a module, choose M here. The module
	   will be called am437x-vpfe.
# SPDX-License-Identifier: GPL-2.0

config VIDEO_XILINX
	tristate "Xilinx Video IP (EXPERIMENTAL)"
	depends on VIDEO_V4L2  && OF && HAS_DMA
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select VIDEOBUF2_DMA_CONTIG
	select V4L2_FWNODE
	help
	  Driver for Xilinx Video IP Pipelines

if VIDEO_XILINX

config VIDEO_XILINX_CSI2RXSS
	tristate "Xilinx CSI-2 Rx Subsystem"
	help
	  Driver for Xilinx MIPI CSI-2 Rx Subsystem. This is a V4L sub-device
	  based driver that takes input from CSI-2 Tx source and converts
	  it into an AXI4-Stream.

config VIDEO_XILINX_TPG
	tristate "Xilinx Video Test Pattern Generator"
	depends on VIDEO_XILINX
	select VIDEO_XILINX_VTC
	help
	   Driver for the Xilinx Video Test Pattern Generator

config VIDEO_XILINX_VTC
	tristate "Xilinx Video Timing Controller"
	depends on VIDEO_XILINX
	help
	   Driver for the Xilinx Video Timing Controller

endif #VIDEO_XILINX
# SPDX-License-Identifier: GPL-2.0
config VIDEO_RCAR_CSI2
	tristate "R-Car MIPI CSI-2 Receiver"
	depends on VIDEO_V4L2 && OF
	depends on ARCH_RENESAS || COMPILE_TEST
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select RESET_CONTROLLER
	select V4L2_FWNODE
	help
	  Support for Renesas R-Car MIPI CSI-2 receiver.
	  Supports R-Car Gen3 SoCs.

	  To compile this driver as a module, choose M here: the
	  module will be called rcar-csi2.

config VIDEO_RCAR_VIN
	tristate "R-Car Video Input (VIN) Driver"
	depends on VIDEO_V4L2 && OF
	depends on ARCH_RENESAS || COMPILE_TEST
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select VIDEOBUF2_DMA_CONTIG
	select V4L2_FWNODE
	help
	  Support for Renesas R-Car Video Input (VIN) driver.
	  Supports R-Car Gen2 and Gen3 SoCs.

	  To compile this driver as a module, choose M here: the
	  module will be called rcar-vin.
# SPDX-License-Identifier: GPL-2.0-only
config VIDEO_ATMEL_ISC
	tristate "ATMEL Image Sensor Controller (ISC) support"
	depends on VIDEO_V4L2 && COMMON_CLK
	depends on ARCH_AT91 || COMPILE_TEST
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select VIDEOBUF2_DMA_CONTIG
	select REGMAP_MMIO
	select V4L2_FWNODE
	help
	   This module makes the ATMEL Image Sensor Controller available
	   as a v4l2 device.

config VIDEO_ATMEL_ISI
	tristate "ATMEL Image Sensor Interface (ISI) support"
	depends on VIDEO_V4L2 && OF
	depends on ARCH_AT91 || COMPILE_TEST
	select VIDEOBUF2_DMA_CONTIG
	select V4L2_FWNODE
	help
	  This module makes the ATMEL Image Sensor Interface available
	  as a v4l2 device.
# SPDX-License-Identifier: GPL-2.0

# SPDX-License-Identifier: GPL-2.0

config VIDEO_SUN4I_CSI
	tristate "Allwinner A10 CMOS Sensor Interface Support"
	depends on VIDEO_V4L2 && COMMON_CLK  && HAS_DMA
	depends on ARCH_SUNXI || COMPILE_TEST
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select VIDEOBUF2_DMA_CONTIG
	select V4L2_FWNODE
	help
	  This is a V4L2 driver for the Allwinner A10 CSI

	  To compile this driver as a module, choose M here: the module
	  will be called sun4i_csi.
# SPDX-License-Identifier: GPL-2.0-only
config VIDEO_SUN6I_CSI
	tristate "Allwinner V3s Camera Sensor Interface driver"
	depends on VIDEO_V4L2 && COMMON_CLK  && HAS_DMA
	depends on ARCH_SUNXI || COMPILE_TEST
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select VIDEOBUF2_DMA_CONTIG
	select REGMAP_MMIO
	select V4L2_FWNODE
	help
	   Support for the Allwinner Camera Sensor Interface Controller on V3s.

config VIDEO_TI_CAL
	tristate "TI CAL (Camera Adaptation Layer) driver"
	depends on VIDEO_DEV && VIDEO_V4L2
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	depends on SOC_DRA7XX || ARCH_K3 || COMPILE_TEST
	select VIDEOBUF2_DMA_CONTIG
	select V4L2_FWNODE
	help
	  Support for the TI CAL (Camera Adaptation Layer) block
	  found on DRA72X SoC.
	  In TI Technical Reference Manual this module is referred as
	  Camera Interface Subsystem (CAMSS).

endif # V4L_PLATFORM_DRIVERS

menuconfig V4L_MEM2MEM_DRIVERS
	bool "Memory-to-memory multimedia devices"
	depends on VIDEO_V4L2
	help
	  Say Y here to enable selecting drivers for V4L devices that
	  use system memory for both source and destination buffers, as opposed
	  to capture and output drivers, which use memory buffers for just
	  one of those.

if V4L_MEM2MEM_DRIVERS

config VIDEO_CODA
	tristate "Chips&Media Coda multi-standard codec IP"
	depends on VIDEO_DEV && VIDEO_V4L2 && (ARCH_MXC || COMPILE_TEST)
	select SRAM
	select VIDEOBUF2_DMA_CONTIG
	select VIDEOBUF2_VMALLOC
	select V4L2_JPEG_HELPER
	select V4L2_MEM2MEM_DEV
	select GENERIC_ALLOCATOR
	help
	   Coda is a range of video codec IPs that supports
	   H.264, MPEG-4, and other video formats.

config VIDEO_IMX_VDOA
	def_tristate VIDEO_CODA if SOC_IMX6Q || COMPILE_TEST

config VIDEO_IMX_PXP
	tristate "i.MX Pixel Pipeline (PXP)"
	depends on VIDEO_DEV && VIDEO_V4L2 && (ARCH_MXC || COMPILE_TEST)
	select VIDEOBUF2_DMA_CONTIG
	select V4L2_MEM2MEM_DEV
	help
	  The i.MX Pixel Pipeline is a memory-to-memory engine for scaling,
	  color space conversion, and rotation.

config VIDEO_MEDIATEK_JPEG
	tristate "Mediatek JPEG Codec driver"
	depends on MTK_IOMMU_V1 || MTK_IOMMU || COMPILE_TEST
	depends on VIDEO_DEV && VIDEO_V4L2
	depends on ARCH_MEDIATEK || COMPILE_TEST
	select VIDEOBUF2_DMA_CONTIG
	select V4L2_MEM2MEM_DEV
	help
	  Mediatek jpeg codec driver provides HW capability to decode
	  JPEG format

	  To compile this driver as a module, choose M here: the
	  module will be called mtk-jpeg

config VIDEO_MEDIATEK_VPU
	tristate "Mediatek Video Processor Unit"
	depends on VIDEO_DEV && VIDEO_V4L2
	depends on ARCH_MEDIATEK || COMPILE_TEST
	help
	    This driver provides downloading VPU firmware and
	    communicating with VPU. This driver for hw video
	    codec embedded in Mediatek's MT8173 SOCs. It is able
	    to handle video decoding/encoding in a range of formats.

	    To compile this driver as a module, choose M here: the
	    module will be called mtk-vpu.

config VIDEO_MEDIATEK_MDP
	tristate "Mediatek MDP driver"
	depends on MTK_IOMMU || COMPILE_TEST
	depends on VIDEO_DEV && VIDEO_V4L2
	depends on ARCH_MEDIATEK || COMPILE_TEST
	select VIDEOBUF2_DMA_CONTIG
	select V4L2_MEM2MEM_DEV
	select VIDEO_MEDIATEK_VPU
	help
	    It is a v4l2 driver and present in Mediatek MT8173 SoCs.
	    The driver supports for scaling and color space conversion.

	    To compile this driver as a module, choose M here: the
	    module will be called mtk-mdp.

config VIDEO_MEDIATEK_VCODEC
	tristate "Mediatek Video Codec driver"
	depends on MTK_IOMMU || COMPILE_TEST
	depends on VIDEO_DEV && VIDEO_V4L2
	depends on ARCH_MEDIATEK || COMPILE_TEST
	select VIDEOBUF2_DMA_CONTIG
	select V4L2_MEM2MEM_DEV
	select VIDEO_MEDIATEK_VPU
	help
	    Mediatek video codec driver provides HW capability to
	    encode and decode in a range of video formats
	    This driver rely on VPU driver to communicate with VPU.

	    To compile this driver as a module, choose M here: the
	    module will be called mtk-vcodec

config VIDEO_MEM2MEM_DEINTERLACE
	tristate "Deinterlace support"
	depends on VIDEO_DEV && VIDEO_V4L2
	depends on HAS_DMA
	select VIDEOBUF2_DMA_CONTIG
	select V4L2_MEM2MEM_DEV
	help
	    Generic deinterlacing V4L2 driver.

config VIDEO_SAMSUNG_S5P_G2D
	tristate "Samsung S5P and EXYNOS4 G2D 2d graphics accelerator driver"
	depends on VIDEO_DEV && VIDEO_V4L2
	depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
	select VIDEOBUF2_DMA_CONTIG
	select V4L2_MEM2MEM_DEV
	help
	  This is a v4l2 driver for Samsung S5P and EXYNOS4 G2D
	  2d graphics accelerator.

config VIDEO_SAMSUNG_S5P_JPEG
	tristate "Samsung S5P/Exynos3250/Exynos4 JPEG codec driver"
	depends on VIDEO_DEV && VIDEO_V4L2
	depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
	select VIDEOBUF2_DMA_CONTIG
	select V4L2_MEM2MEM_DEV
	help
	  This is a v4l2 driver for Samsung S5P, EXYNOS3250
	  and EXYNOS4 JPEG codec

config VIDEO_SAMSUNG_S5P_MFC
	tristate "Samsung S5P MFC Video Codec"
	depends on VIDEO_DEV && VIDEO_V4L2
	depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
	select VIDEOBUF2_DMA_CONTIG
	help
	    MFC 5.1 and 6.x driver for V4L2

config VIDEO_MX2_EMMAPRP
	tristate "MX2 eMMa-PrP support"
	depends on VIDEO_DEV && VIDEO_V4L2
	depends on SOC_IMX27 || COMPILE_TEST
	select VIDEOBUF2_DMA_CONTIG
	select V4L2_MEM2MEM_DEV
	help
	    MX2X chips have a PrP that can be used to process buffers from
	    memory to memory. Operations include resizing and format
	    conversion.

config VIDEO_SAMSUNG_EXYNOS_GSC
	tristate "Samsung Exynos G-Scaler driver"
	depends on VIDEO_DEV && VIDEO_V4L2
	depends on ARCH_EXYNOS || COMPILE_TEST
	select VIDEOBUF2_DMA_CONTIG
	select V4L2_MEM2MEM_DEV
	help
	  This is a v4l2 driver for Samsung EXYNOS5 SoC G-Scaler.

config VIDEO_STI_BDISP
	tristate "STMicroelectronics BDISP 2D blitter driver"
	depends on VIDEO_DEV && VIDEO_V4L2
	depends on ARCH_STI || COMPILE_TEST
	select VIDEOBUF2_DMA_CONTIG
	select V4L2_MEM2MEM_DEV
	help
	  This v4l2 mem2mem driver is a 2D blitter for STMicroelectronics SoC.

config VIDEO_STI_HVA
	tristate "STMicroelectronics HVA multi-format video encoder V4L2 driver"
	depends on VIDEO_DEV && VIDEO_V4L2
	depends on ARCH_STI || COMPILE_TEST
	select VIDEOBUF2_DMA_CONTIG
	select V4L2_MEM2MEM_DEV
	help
	  This V4L2 driver enables HVA (Hardware Video Accelerator) multi-format
	  video encoder of STMicroelectronics SoC, allowing hardware encoding of
	  raw uncompressed formats in various compressed video bitstreams format.

	  To compile this driver as a module, choose M here:
	  the module will be called st-hva.

config VIDEO_STI_HVA_DEBUGFS
	bool "Export STMicroelectronics HVA internals in debugfs"
	depends on VIDEO_STI_HVA
	depends on DEBUG_FS
	help
	  Select this to see information about the internal state and the last
	  operation of STMicroelectronics HVA multi-format video encoder in
	  debugfs.

	  Choose N unless you know you need this.

config VIDEO_STI_DELTA
	tristate "STMicroelectronics DELTA multi-format video decoder V4L2 driver"
	depends on VIDEO_DEV && VIDEO_V4L2
	depends on ARCH_STI || COMPILE_TEST
	help
		This V4L2 driver enables DELTA multi-format video decoder
		of STMicroelectronics STiH4xx SoC series allowing hardware
		decoding of various compressed video bitstream format in
		raw uncompressed format.

		Use this option to see the decoders available for such
		hardware.

		Please notice that the driver will only be built if
		at least one of the DELTA decoder below is selected.

if VIDEO_STI_DELTA

config VIDEO_STI_DELTA_MJPEG
	bool "STMicroelectronics DELTA MJPEG support"
	default y
	help
		Enables DELTA MJPEG hardware support.

		To compile this driver as a module, choose M here:
		the module will be called st-delta.

config VIDEO_STI_DELTA_DRIVER
	tristate
	depends on VIDEO_STI_DELTA
	depends on VIDEO_STI_DELTA_MJPEG
	default VIDEO_STI_DELTA_MJPEG
	select VIDEOBUF2_DMA_CONTIG
	select V4L2_MEM2MEM_DEV
	select RPMSG

endif # VIDEO_STI_DELTA

config VIDEO_RENESAS_FDP1
	tristate "Renesas Fine Display Processor"
	depends on VIDEO_DEV && VIDEO_V4L2
	depends on ARCH_RENESAS || COMPILE_TEST
	depends on (!ARM64 && !VIDEO_RENESAS_FCP) || VIDEO_RENESAS_FCP
	select VIDEOBUF2_DMA_CONTIG
	select V4L2_MEM2MEM_DEV
	help
	  This is a V4L2 driver for the Renesas Fine Display Processor
	  providing colour space conversion, and de-interlacing features.

	  To compile this driver as a module, choose M here: the module
	  will be called rcar_fdp1.

config VIDEO_RENESAS_JPU
	tristate "Renesas JPEG Processing Unit"
	depends on VIDEO_DEV && VIDEO_V4L2
	depends on ARCH_RENESAS || COMPILE_TEST
	select VIDEOBUF2_DMA_CONTIG
	select V4L2_MEM2MEM_DEV
	help
	  This is a V4L2 driver for the Renesas JPEG Processing Unit.

	  To compile this driver as a module, choose M here: the module
	  will be called rcar_jpu.

config VIDEO_RENESAS_FCP
	tristate "Renesas Frame Compression Processor"
	depends on ARCH_RENESAS || COMPILE_TEST
	depends on OF
	help
	  This is a driver for the Renesas Frame Compression Processor (FCP).
	  The FCP is a companion module of video processing modules in the
	  Renesas R-Car Gen3 SoCs. It handles memory access for the codec,
	  VSP and FDP modules.

	  To compile this driver as a module, choose M here: the module
	  will be called rcar-fcp.

config VIDEO_RENESAS_VSP1
	tristate "Renesas VSP1 Video Processing Engine"
	depends on VIDEO_V4L2
	depends on ARCH_RENESAS || COMPILE_TEST
	depends on (!ARM64 && !VIDEO_RENESAS_FCP) || VIDEO_RENESAS_FCP
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select VIDEOBUF2_DMA_CONTIG
	select VIDEOBUF2_VMALLOC
	help
	  This is a V4L2 driver for the Renesas VSP1 video processing engine.

	  To compile this driver as a module, choose M here: the module
	  will be called vsp1.

config VIDEO_ROCKCHIP_RGA
	tristate "Rockchip Raster 2d Graphic Acceleration Unit"
	depends on VIDEO_DEV && VIDEO_V4L2
	depends on ARCH_ROCKCHIP || COMPILE_TEST
	select VIDEOBUF2_DMA_SG
	select V4L2_MEM2MEM_DEV
	help
	  This is a v4l2 driver for Rockchip SOC RGA 2d graphics accelerator.
	  Rockchip RGA is a separate 2D raster graphic acceleration unit.
	  It accelerates 2D graphics operations, such as point/line drawing,
	  image scaling, rotation, BitBLT, alpha blending and image blur/sharpness.

	  To compile this driver as a module choose m here.

config VIDEO_TI_VPE
	tristate "TI VPE (Video Processing Engine) driver"
	depends on VIDEO_DEV && VIDEO_V4L2
	depends on SOC_DRA7XX || COMPILE_TEST
	select VIDEOBUF2_DMA_CONTIG
	select V4L2_MEM2MEM_DEV
	select VIDEO_TI_VPDMA
	select VIDEO_TI_SC
	select VIDEO_TI_CSC
	help
	  Support for the TI VPE(Video Processing Engine) block
	  found on DRA7XX SoC.

config VIDEO_TI_VPE_DEBUG
	bool "VPE debug messages"
	depends on VIDEO_TI_VPE
	help
	  Enable debug messages on VPE driver.

config VIDEO_QCOM_VENUS
	tristate "Qualcomm Venus V4L2 encoder/decoder driver"
	depends on VIDEO_DEV && VIDEO_V4L2
	depends on (ARCH_QCOM && IOMMU_DMA) || COMPILE_TEST
	depends on INTERCONNECT || !INTERCONNECT
	select QCOM_MDT_LOADER if ARCH_QCOM
	select QCOM_SCM if ARCH_QCOM
	select VIDEOBUF2_DMA_SG
	select V4L2_MEM2MEM_DEV
	help
	  This is a V4L2 driver for Qualcomm Venus video accelerator
	  hardware. It accelerates encoding and decoding operations
	  on various Qualcomm SoCs.
	  To compile this driver as a module choose m here.

config VIDEO_SUN8I_DEINTERLACE
	tristate "Allwinner Deinterlace driver"
	depends on VIDEO_DEV && VIDEO_V4L2
	depends on ARCH_SUNXI || COMPILE_TEST
	depends on COMMON_CLK && OF
	depends on PM
	select VIDEOBUF2_DMA_CONTIG
	select V4L2_MEM2MEM_DEV
	help
	   Support for the Allwinner deinterlace unit with scaling
	   capability found on some SoCs, like H3.
	   To compile this driver as a module choose m here.

config VIDEO_SUN8I_ROTATE
	tristate "Allwinner DE2 rotation driver"
	depends on VIDEO_DEV && VIDEO_V4L2
	depends on ARCH_SUNXI || COMPILE_TEST
	depends on COMMON_CLK && OF
	depends on PM
	select VIDEOBUF2_DMA_CONTIG
	select V4L2_MEM2MEM_DEV
	help
	   Support for the Allwinner DE2 rotation unit.
	   To compile this driver as a module choose m here.

endif # V4L_MEM2MEM_DRIVERS

# TI VIDEO PORT Helper Modules
# These will be selected by VPE and VIP
config VIDEO_TI_VPDMA
	tristate

config VIDEO_TI_SC
	tristate

config VIDEO_TI_CSC
	tristate

menuconfig DVB_PLATFORM_DRIVERS
	bool "DVB platform devices"
	depends on MEDIA_DIGITAL_TV_SUPPORT
	help
	  Say Y here to enable support for platform-specific Digital TV drivers.

if DVB_PLATFORM_DRIVERS
# SPDX-License-Identifier: GPL-2.0-only
config DVB_C8SECTPFE
	tristate "STMicroelectronics C8SECTPFE DVB support"
	depends on PINCTRL && DVB_CORE && I2C
	depends on ARCH_STI || ARCH_MULTIPLATFORM || COMPILE_TEST
	select FW_LOADER
	select DEBUG_FS
	select DVB_LNBP21 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_STV090x 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_STV0367 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_TDA18212 if MEDIA_SUBDRV_AUTOSELECT

	help
	  This adds support for DVB front-end cards connected
	  to TS inputs of STiH407/410 SoC.

	  The driver currently supports C8SECTPFE's TS input block,
	  memdma engine, and HW PID filtering.

	  Supported DVB front-end cards are:
	  - STMicroelectronics DVB-T B2100A (STV0367 + TDA18212)
	  - STMicroelectronics DVB-S/S2 STV0903 + STV6110 + LNBP24 board

	  To compile this driver as a module, choose M here: the
	  module will be called c8sectpfe.
endif #DVB_PLATFORM_DRIVERS

menuconfig SDR_PLATFORM_DRIVERS
	bool "SDR platform devices"
	depends on MEDIA_SDR_SUPPORT
	help
	  Say Y here to enable support for platform-specific SDR Drivers.

if SDR_PLATFORM_DRIVERS

config VIDEO_RCAR_DRIF
	tristate "Renesas Digital Radio Interface (DRIF)"
	depends on VIDEO_V4L2
	depends on ARCH_RENESAS || COMPILE_TEST
	select VIDEOBUF2_VMALLOC
	help
	  Say Y if you want to enable R-Car Gen3 DRIF support. DRIF is Digital
	  Radio Interface that interfaces with an RF front end chip. It is a
	  receiver of digital data which uses DMA to transfer received data to
	  a configured location for an application to use.

	  To compile this driver as a module, choose M here; the module
	  will be called rcar_drif.

endif # SDR_PLATFORM_DRIVERS
# SPDX-License-Identifier: GPL-2.0-only
# SPDX-License-Identifier: GPL-2.0-only
#
# Siano Mobile Silicon Digital TV device configuration
#
comment "MMC/SDIO DVB adapters"
	depends on DVB_CORE && HAS_DMA && MMC

config SMS_SDIO_DRV
	tristate "Siano SMS1xxx based MDTV via SDIO interface"
	depends on DVB_CORE && HAS_DMA
	depends on MMC
	depends on !RC_CORE || RC_CORE
	select MEDIA_COMMON_OPTIONS
	select SMS_SIANO_MDTV
	help
	  Choose if you would like to have Siano's support for SDIO interface
endif

if MEDIA_TEST_SUPPORT
# SPDX-License-Identifier: GPL-2.0-only

menuconfig V4L_TEST_DRIVERS
	bool "V4L test drivers"
	depends on VIDEO_DEV

if V4L_TEST_DRIVERS

# SPDX-License-Identifier: GPL-2.0-only
config VIDEO_VIMC
	tristate "Virtual Media Controller Driver (VIMC)"
	depends on VIDEO_DEV && VIDEO_V4L2
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select VIDEOBUF2_VMALLOC
	select VIDEO_V4L2_TPG
	help
	  Skeleton driver for Virtual Media Controller

	  This driver can be compared to the vivid driver for emulating
	  a media node that exposes a complex media topology. The topology
	  is hard coded for now but is meant to be highly configurable in
	  the future.

	  When in doubt, say N.

# SPDX-License-Identifier: GPL-2.0-only
config VIDEO_VIVID
	tristate "Virtual Video Test Driver"
	depends on VIDEO_DEV && VIDEO_V4L2 && !SPARC32 && !SPARC64 && FB
	depends on HAS_DMA
	select FONT_SUPPORT
	select FONT_8x16
	select FB_CFB_FILLRECT
	select FB_CFB_COPYAREA
	select FB_CFB_IMAGEBLIT
	select VIDEOBUF2_VMALLOC
	select VIDEOBUF2_DMA_CONTIG
	select VIDEO_V4L2_TPG
	select MEDIA_CONTROLLER
	select MEDIA_CONTROLLER_REQUEST_API
	help
	  Enables a virtual video driver. This driver emulates a webcam,
	  TV, S-Video and HDMI capture hardware, including VBI support for
	  the SDTV inputs. Also video output, VBI output, radio receivers,
	  transmitters and software defined radio capture is emulated.

	  It is highly configurable and is ideal for testing applications.
	  Error injection is supported to test rare errors that are hard
	  to reproduce in real hardware.

	  Say Y here if you want to test video apps or debug V4L devices.
	  When in doubt, say N.

config VIDEO_VIVID_CEC
	bool "Enable CEC emulation support"
	depends on VIDEO_VIVID
	select CEC_CORE
	help
	  When selected the vivid module will emulate the optional
	  HDMI CEC feature.

config VIDEO_VIVID_MAX_DEVS
	int "Maximum number of devices"
	depends on VIDEO_VIVID
	default "64"
	help
	  This allows you to specify the maximum number of devices supported
	  by the vivid driver.

config VIDEO_VIM2M
	tristate "Virtual Memory-to-Memory Driver"
	depends on VIDEO_DEV && VIDEO_V4L2
	select VIDEOBUF2_VMALLOC
	select V4L2_MEM2MEM_DEV
	select MEDIA_CONTROLLER
	select MEDIA_CONTROLLER_REQUEST_API
	help
	  This is a virtual test device for the memory-to-memory driver
	  framework.

# SPDX-License-Identifier: GPL-2.0-only
config VIDEO_VICODEC
	tristate "Virtual Codec Driver"
	depends on VIDEO_DEV && VIDEO_V4L2
	select VIDEOBUF2_VMALLOC
	select V4L2_MEM2MEM_DEV
	select MEDIA_CONTROLLER
	select MEDIA_CONTROLLER_REQUEST_API
	help
	  Driver for a Virtual Codec

	  This driver can be compared to the vim2m driver for emulating
	  a video device node that exposes an emulated hardware codec.

	  When in doubt, say N.

endif #V4L_TEST_DRIVERS
endif

# SPDX-License-Identifier: GPL-2.0-only
if DVB_CORE && FIREWIRE
comment "FireWire (IEEE 1394) Adapters"

config DVB_FIREDTV
	tristate "FireDTV and FloppyDTV"
	help
	  Support for DVB receivers from Digital Everywhere
	  which are connected via IEEE 1394 (FireWire).

	  These devices don't have an MPEG decoder built in,
	  so you need an external software decoder to watch TV.

	  To compile this driver as a module, say M here:
	  the module will be called firedtv.

if DVB_FIREDTV

config DVB_FIREDTV_INPUT
	def_bool INPUT = y || (INPUT = m && DVB_FIREDTV = m)

endif # DVB_FIREDTV
endif # DVB_CORE && FIREWIRE

endmenu

#
# Ancillary drivers (tuners, i2c, spi, frontends)
#

config MEDIA_HIDE_ANCILLARY_SUBDRV
	bool
	depends on MEDIA_SUBDRV_AUTOSELECT && !COMPILE_TEST && !EXPERT
	default y

menu "Media ancillary drivers"

config MEDIA_ATTACH
	bool
	depends on MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_RADIO_SUPPORT
	depends on MODULES
	default MODULES

# SPDX-License-Identifier: GPL-2.0-only
#
# Multimedia Video device configuration
#

if VIDEO_V4L2

comment "IR I2C driver auto-selected by 'Autoselect ancillary drivers'"
	depends on MEDIA_SUBDRV_AUTOSELECT && I2C && RC_CORE

config VIDEO_IR_I2C
	tristate "I2C module for IR" if !MEDIA_SUBDRV_AUTOSELECT || EXPERT
	depends on I2C && RC_CORE
	default y
	help
	  Most boards have an IR chip directly connected via GPIO. However,
	  some video boards have the IR connected via I2C bus.

	  If your board doesn't have an I2C IR chip, you may disable this
	  option.

	  In doubt, say Y.

#
# V4L2 I2C drivers that aren't related with Camera support
#

comment "audio, video and radio I2C drivers auto-selected by 'Autoselect ancillary drivers'"
	depends on MEDIA_HIDE_ANCILLARY_SUBDRV
#
# Encoder / Decoder module configuration
#

menu "Audio decoders, processors and mixers"
	visible if !MEDIA_HIDE_ANCILLARY_SUBDRV

config VIDEO_TVAUDIO
	tristate "Simple audio decoder chips"
	depends on VIDEO_V4L2 && I2C
	help
	  Support for several audio decoder chips found on some bt8xx boards:
	  Philips: tda9840, tda9873h, tda9874h/a, tda9850, tda985x, tea6300,
		   tea6320, tea6420, tda8425, ta8874z.
	  Microchip: pic16c54 based design on ProVideo PV951 board.

	  To compile this driver as a module, choose M here: the
	  module will be called tvaudio.

config VIDEO_TDA7432
	tristate "Philips TDA7432 audio processor"
	depends on VIDEO_V4L2 && I2C
	help
	  Support for tda7432 audio decoder chip found on some bt8xx boards.

	  To compile this driver as a module, choose M here: the
	  module will be called tda7432.

config VIDEO_TDA9840
	tristate "Philips TDA9840 audio processor"
	depends on I2C
	help
	  Support for tda9840 audio decoder chip found on some Zoran boards.

	  To compile this driver as a module, choose M here: the
	  module will be called tda9840.

config VIDEO_TDA1997X
	tristate "NXP TDA1997x HDMI receiver"
	depends on VIDEO_V4L2 && I2C
	depends on SND_SOC
	select HDMI
	select SND_PCM
	select V4L2_FWNODE
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	help
	  V4L2 subdevice driver for the NXP TDA1997x HDMI receivers.

	  To compile this driver as a module, choose M here: the
	  module will be called tda1997x.

config VIDEO_TEA6415C
	tristate "Philips TEA6415C audio processor"
	depends on I2C
	help
	  Support for tea6415c audio decoder chip found on some bt8xx boards.

	  To compile this driver as a module, choose M here: the
	  module will be called tea6415c.

config VIDEO_TEA6420
	tristate "Philips TEA6420 audio processor"
	depends on I2C
	help
	  Support for tea6420 audio decoder chip found on some bt8xx boards.

	  To compile this driver as a module, choose M here: the
	  module will be called tea6420.

config VIDEO_MSP3400
	tristate "Micronas MSP34xx audio decoders"
	depends on VIDEO_V4L2 && I2C
	help
	  Support for the Micronas MSP34xx series of audio decoders.

	  To compile this driver as a module, choose M here: the
	  module will be called msp3400.

config VIDEO_CS3308
	tristate "Cirrus Logic CS3308 audio ADC"
	depends on VIDEO_V4L2 && I2C
	help
	  Support for the Cirrus Logic CS3308 High Performance 8-Channel
	  Analog Volume Control

	  To compile this driver as a module, choose M here: the
	  module will be called cs3308.

config VIDEO_CS5345
	tristate "Cirrus Logic CS5345 audio ADC"
	depends on VIDEO_V4L2 && I2C
	help
	  Support for the Cirrus Logic CS5345 24-bit, 192 kHz
	  stereo A/D converter.

	  To compile this driver as a module, choose M here: the
	  module will be called cs5345.

config VIDEO_CS53L32A
	tristate "Cirrus Logic CS53L32A audio ADC"
	depends on VIDEO_V4L2 && I2C
	help
	  Support for the Cirrus Logic CS53L32A low voltage
	  stereo A/D converter.

	  To compile this driver as a module, choose M here: the
	  module will be called cs53l32a.

config VIDEO_TLV320AIC23B
	tristate "Texas Instruments TLV320AIC23B audio codec"
	depends on VIDEO_V4L2 && I2C
	help
	  Support for the Texas Instruments TLV320AIC23B audio codec.

	  To compile this driver as a module, choose M here: the
	  module will be called tlv320aic23b.

config VIDEO_UDA1342
	tristate "Philips UDA1342 audio codec"
	depends on VIDEO_V4L2 && I2C
	help
	  Support for the Philips UDA1342 audio codec.

	  To compile this driver as a module, choose M here: the
	  module will be called uda1342.

config VIDEO_WM8775
	tristate "Wolfson Microelectronics WM8775 audio ADC with input mixer"
	depends on VIDEO_V4L2 && I2C
	help
	  Support for the Wolfson Microelectronics WM8775 high
	  performance stereo A/D Converter with a 4 channel input mixer.

	  To compile this driver as a module, choose M here: the
	  module will be called wm8775.

config VIDEO_WM8739
	tristate "Wolfson Microelectronics WM8739 stereo audio ADC"
	depends on VIDEO_V4L2 && I2C
	help
	  Support for the Wolfson Microelectronics WM8739
	  stereo A/D Converter.

	  To compile this driver as a module, choose M here: the
	  module will be called wm8739.

config VIDEO_VP27SMPX
	tristate "Panasonic VP27's internal MPX"
	depends on VIDEO_V4L2 && I2C
	help
	  Support for the internal MPX of the Panasonic VP27s tuner.

	  To compile this driver as a module, choose M here: the
	  module will be called vp27smpx.

config VIDEO_SONY_BTF_MPX
	tristate "Sony BTF's internal MPX"
	depends on VIDEO_V4L2 && I2C
	help
	  Support for the internal MPX of the Sony BTF-PG472Z tuner.

	  To compile this driver as a module, choose M here: the
	  module will be called sony-btf-mpx.
endmenu

menu "RDS decoders"
	visible if !MEDIA_HIDE_ANCILLARY_SUBDRV

config VIDEO_SAA6588
	tristate "SAA6588 Radio Chip RDS decoder support"
	depends on VIDEO_V4L2 && I2C

	help
	  Support for this Radio Data System (RDS) decoder. This allows
	  seeing radio station identification transmitted using this
	  standard.

	  To compile this driver as a module, choose M here: the
	  module will be called saa6588.
endmenu

menu "Video decoders"
	visible if !MEDIA_HIDE_ANCILLARY_SUBDRV

config VIDEO_ADV7180
	tristate "Analog Devices ADV7180 decoder"
	depends on GPIOLIB && VIDEO_V4L2 && I2C
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	help
	  Support for the Analog Devices ADV7180 video decoder.

	  To compile this driver as a module, choose M here: the
	  module will be called adv7180.

config VIDEO_ADV7183
	tristate "Analog Devices ADV7183 decoder"
	depends on VIDEO_V4L2 && I2C
	help
	  V4l2 subdevice driver for the Analog Devices
	  ADV7183 video decoder.

	  To compile this driver as a module, choose M here: the
	  module will be called adv7183.

config VIDEO_ADV748X
	tristate "Analog Devices ADV748x decoder"
	depends on VIDEO_V4L2 && I2C
	depends on OF
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select REGMAP_I2C
	select V4L2_FWNODE
	help
	  V4L2 subdevice driver for the Analog Devices
	  ADV7481 and ADV7482 HDMI/Analog video decoders.

	  To compile this driver as a module, choose M here: the
	  module will be called adv748x.

config VIDEO_ADV7604
	tristate "Analog Devices ADV7604 decoder"
	depends on VIDEO_V4L2 && I2C
	depends on GPIOLIB || COMPILE_TEST
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select REGMAP_I2C
	select HDMI
	select V4L2_FWNODE
	help
	  Support for the Analog Devices ADV7604 video decoder.

	  This is a Analog Devices Component/Graphics Digitizer
	  with 4:1 Multiplexed HDMI Receiver.

	  To compile this driver as a module, choose M here: the
	  module will be called adv7604.

config VIDEO_ADV7604_CEC
	bool "Enable Analog Devices ADV7604 CEC support"
	depends on VIDEO_ADV7604
	select CEC_CORE
	help
	  When selected the adv7604 will support the optional
	  HDMI CEC feature.

config VIDEO_ADV7842
	tristate "Analog Devices ADV7842 decoder"
	depends on VIDEO_V4L2 && I2C
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select HDMI
	help
	  Support for the Analog Devices ADV7842 video decoder.

	  This is a Analog Devices Component/Graphics/SD Digitizer
	  with 2:1 Multiplexed HDMI Receiver.

	  To compile this driver as a module, choose M here: the
	  module will be called adv7842.

config VIDEO_ADV7842_CEC
	bool "Enable Analog Devices ADV7842 CEC support"
	depends on VIDEO_ADV7842
	select CEC_CORE
	help
	  When selected the adv7842 will support the optional
	  HDMI CEC feature.

config VIDEO_BT819
	tristate "BT819A VideoStream decoder"
	depends on VIDEO_V4L2 && I2C
	help
	  Support for BT819A video decoder.

	  To compile this driver as a module, choose M here: the
	  module will be called bt819.

config VIDEO_BT856
	tristate "BT856 VideoStream decoder"
	depends on VIDEO_V4L2 && I2C
	help
	  Support for BT856 video decoder.

	  To compile this driver as a module, choose M here: the
	  module will be called bt856.

config VIDEO_BT866
	tristate "BT866 VideoStream decoder"
	depends on VIDEO_V4L2 && I2C
	help
	  Support for BT866 video decoder.

	  To compile this driver as a module, choose M here: the
	  module will be called bt866.

config VIDEO_KS0127
	tristate "KS0127 video decoder"
	depends on VIDEO_V4L2 && I2C
	help
	  Support for KS0127 video decoder.

	  This chip is used on AverMedia AVS6EYES Zoran-based MJPEG
	  cards.

	  To compile this driver as a module, choose M here: the
	  module will be called ks0127.

config VIDEO_ML86V7667
	tristate "OKI ML86V7667 video decoder"
	depends on VIDEO_V4L2 && I2C
	help
	  Support for the OKI Semiconductor ML86V7667 video decoder.

	  To compile this driver as a module, choose M here: the
	  module will be called ml86v7667.

config VIDEO_SAA7110
	tristate "Philips SAA7110 video decoder"
	depends on VIDEO_V4L2 && I2C
	help
	  Support for the Philips SAA7110 video decoders.

	  To compile this driver as a module, choose M here: the
	  module will be called saa7110.

config VIDEO_SAA711X
	tristate "Philips SAA7111/3/4/5 video decoders"
	depends on VIDEO_V4L2 && I2C
	help
	  Support for the Philips SAA7111/3/4/5 video decoders.

	  To compile this driver as a module, choose M here: the
	  module will be called saa7115.

config VIDEO_TC358743
	tristate "Toshiba TC358743 decoder"
	depends on VIDEO_V4L2 && I2C
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select HDMI
	select V4L2_FWNODE
	help
	  Support for the Toshiba TC358743 HDMI to MIPI CSI-2 bridge.

	  To compile this driver as a module, choose M here: the
	  module will be called tc358743.

config VIDEO_TC358743_CEC
	bool "Enable Toshiba TC358743 CEC support"
	depends on VIDEO_TC358743
	select CEC_CORE
	help
	  When selected the tc358743 will support the optional
	  HDMI CEC feature.

config VIDEO_TVP514X
	tristate "Texas Instruments TVP514x video decoder"
	depends on VIDEO_V4L2 && I2C
	select V4L2_FWNODE
	help
	  This is a Video4Linux2 sensor driver for the TI TVP5146/47
	  decoder. It is currently working with the TI OMAP3 camera
	  controller.

	  To compile this driver as a module, choose M here: the
	  module will be called tvp514x.

config VIDEO_TVP5150
	tristate "Texas Instruments TVP5150 video decoder"
	depends on VIDEO_V4L2 && I2C
	select V4L2_FWNODE
	select REGMAP_I2C
	help
	  Support for the Texas Instruments TVP5150 video decoder.

	  To compile this driver as a module, choose M here: the
	  module will be called tvp5150.

config VIDEO_TVP7002
	tristate "Texas Instruments TVP7002 video decoder"
	depends on VIDEO_V4L2 && I2C
	select V4L2_FWNODE
	help
	  Support for the Texas Instruments TVP7002 video decoder.

	  To compile this driver as a module, choose M here: the
	  module will be called tvp7002.

config VIDEO_TW2804
	tristate "Techwell TW2804 multiple video decoder"
	depends on VIDEO_V4L2 && I2C
	help
	  Support for the Techwell tw2804 multiple video decoder.

	  To compile this driver as a module, choose M here: the
	  module will be called tw2804.

config VIDEO_TW9903
	tristate "Techwell TW9903 video decoder"
	depends on VIDEO_V4L2 && I2C
	help
	  Support for the Techwell tw9903 multi-standard video decoder
	  with high quality down scaler.

	  To compile this driver as a module, choose M here: the
	  module will be called tw9903.

config VIDEO_TW9906
	tristate "Techwell TW9906 video decoder"
	depends on VIDEO_V4L2 && I2C
	help
	  Support for the Techwell tw9906 enhanced multi-standard comb filter
	  video decoder with YCbCr input support.

	  To compile this driver as a module, choose M here: the
	  module will be called tw9906.

config VIDEO_TW9910
	tristate "Techwell TW9910 video decoder"
	depends on VIDEO_V4L2 && I2C
	help
	  Support for Techwell TW9910 NTSC/PAL/SECAM video decoder.

	  To compile this driver as a module, choose M here: the
	  module will be called tw9910.

config VIDEO_VPX3220
	tristate "vpx3220a, vpx3216b & vpx3214c video decoders"
	depends on VIDEO_V4L2 && I2C
	help
	  Support for VPX322x video decoders.

	  To compile this driver as a module, choose M here: the
	  module will be called vpx3220.

comment "Video and audio decoders"

config VIDEO_SAA717X
	tristate "Philips SAA7171/3/4 audio/video decoders"
	depends on VIDEO_V4L2 && I2C
	help
	  Support for the Philips SAA7171/3/4 audio/video decoders.

	  To compile this driver as a module, choose M here: the
	  module will be called saa717x.

# SPDX-License-Identifier: GPL-2.0-only
config VIDEO_CX25840
	tristate "Conexant CX2584x audio/video decoders"
	depends on VIDEO_V4L2 && I2C
	help
	  Support for the Conexant CX2584x audio/video decoders.

	  To compile this driver as a module, choose M here: the
	  module will be called cx25840

endmenu

menu "Video encoders"
	visible if !MEDIA_HIDE_ANCILLARY_SUBDRV

config VIDEO_SAA7127
	tristate "Philips SAA7127/9 digital video encoders"
	depends on VIDEO_V4L2 && I2C
	help
	  Support for the Philips SAA7127/9 digital video encoders.

	  To compile this driver as a module, choose M here: the
	  module will be called saa7127.

config VIDEO_SAA7185
	tristate "Philips SAA7185 video encoder"
	depends on VIDEO_V4L2 && I2C
	help
	  Support for the Philips SAA7185 video encoder.

	  To compile this driver as a module, choose M here: the
	  module will be called saa7185.

config VIDEO_ADV7170
	tristate "Analog Devices ADV7170 video encoder"
	depends on VIDEO_V4L2 && I2C
	help
	  Support for the Analog Devices ADV7170 video encoder driver

	  To compile this driver as a module, choose M here: the
	  module will be called adv7170.

config VIDEO_ADV7175
	tristate "Analog Devices ADV7175 video encoder"
	depends on VIDEO_V4L2 && I2C
	help
	  Support for the Analog Devices ADV7175 video encoder driver

	  To compile this driver as a module, choose M here: the
	  module will be called adv7175.

config VIDEO_ADV7343
	tristate "ADV7343 video encoder"
	depends on I2C
	help
	  Support for Analog Devices I2C bus based ADV7343 encoder.

	  To compile this driver as a module, choose M here: the
	  module will be called adv7343.

config VIDEO_ADV7393
	tristate "ADV7393 video encoder"
	depends on I2C
	help
	  Support for Analog Devices I2C bus based ADV7393 encoder.

	  To compile this driver as a module, choose M here: the
	  module will be called adv7393.

config VIDEO_ADV7511
	tristate "Analog Devices ADV7511 encoder"
	depends on VIDEO_V4L2 && I2C
	depends on DRM_I2C_ADV7511=n || COMPILE_TEST
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select HDMI
	help
	  Support for the Analog Devices ADV7511 video encoder.

	  This is a Analog Devices HDMI transmitter.

	  To compile this driver as a module, choose M here: the
	  module will be called adv7511.

config VIDEO_ADV7511_CEC
	bool "Enable Analog Devices ADV7511 CEC support"
	depends on VIDEO_ADV7511
	select CEC_CORE
	help
	  When selected the adv7511 will support the optional
	  HDMI CEC feature.

config VIDEO_AD9389B
	tristate "Analog Devices AD9389B encoder"
	depends on VIDEO_V4L2 && I2C
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API

	help
	  Support for the Analog Devices AD9389B video encoder.

	  This is a Analog Devices HDMI transmitter.

	  To compile this driver as a module, choose M here: the
	  module will be called ad9389b.

config VIDEO_AK881X
	tristate "AK8813/AK8814 video encoders"
	depends on I2C
	help
	  Video output driver for AKM AK8813 and AK8814 TV encoders

config VIDEO_THS8200
	tristate "Texas Instruments THS8200 video encoder"
	depends on VIDEO_V4L2 && I2C
	help
	  Support for the Texas Instruments THS8200 video encoder.

	  To compile this driver as a module, choose M here: the
	  module will be called ths8200.
endmenu

menu "Video improvement chips"
	visible if !MEDIA_HIDE_ANCILLARY_SUBDRV

config VIDEO_UPD64031A
	tristate "NEC Electronics uPD64031A Ghost Reduction"
	depends on VIDEO_V4L2 && I2C
	help
	  Support for the NEC Electronics uPD64031A Ghost Reduction
	  video chip. It is most often found in NTSC TV cards made for
	  Japan and is used to reduce the 'ghosting' effect that can
	  be present in analog TV broadcasts.

	  To compile this driver as a module, choose M here: the
	  module will be called upd64031a.

config VIDEO_UPD64083
	tristate "NEC Electronics uPD64083 3-Dimensional Y/C separation"
	depends on VIDEO_V4L2 && I2C
	help
	  Support for the NEC Electronics uPD64083 3-Dimensional Y/C
	  separation video chip. It is used to improve the quality of
	  the colors of a composite signal.

	  To compile this driver as a module, choose M here: the
	  module will be called upd64083.
endmenu

menu "Audio/Video compression chips"
	visible if !MEDIA_HIDE_ANCILLARY_SUBDRV

config VIDEO_SAA6752HS
	tristate "Philips SAA6752HS MPEG-2 Audio/Video Encoder"
	depends on VIDEO_V4L2 && I2C
	select CRC32
	help
	  Support for the Philips SAA6752HS MPEG-2 video and MPEG-audio/AC-3
	  audio encoder with multiplexer.

	  To compile this driver as a module, choose M here: the
	  module will be called saa6752hs.

endmenu

menu "SDR tuner chips"
	visible if !MEDIA_HIDE_ANCILLARY_SUBDRV

config SDR_MAX2175
	tristate "Maxim 2175 RF to Bits tuner"
	depends on VIDEO_V4L2 && MEDIA_SDR_SUPPORT && I2C
	select REGMAP_I2C
	help
	  Support for Maxim 2175 tuner. It is an advanced analog/digital
	  radio receiver with RF-to-Bits front-end designed for SDR solutions.

	  To compile this driver as a module, choose M here; the
	  module will be called max2175.


endmenu

menu "Miscellaneous helper chips"
	visible if !MEDIA_HIDE_ANCILLARY_SUBDRV

config VIDEO_THS7303
	tristate "THS7303/53 Video Amplifier"
	depends on VIDEO_V4L2 && I2C
	help
	  Support for TI THS7303/53 video amplifier

	  To compile this driver as a module, choose M here: the
	  module will be called ths7303.

config VIDEO_M52790
	tristate "Mitsubishi M52790 A/V switch"
	depends on VIDEO_V4L2 && I2C
	help
	 Support for the Mitsubishi M52790 A/V switch.

	 To compile this driver as a module, choose M here: the
	 module will be called m52790.

config VIDEO_I2C
	tristate "I2C transport video support"
	depends on VIDEO_V4L2 && I2C
	select VIDEOBUF2_VMALLOC
	imply HWMON
	help
	  Enable the I2C transport video support which supports the
	  following:
	   * Panasonic AMG88xx Grid-Eye Sensors
	   * Melexis MLX90640 Thermal Cameras

	  To compile this driver as a module, choose M here: the
	  module will be called video-i2c

config VIDEO_ST_MIPID02
	tristate "STMicroelectronics MIPID02 CSI-2 to PARALLEL bridge"
	depends on I2C && VIDEO_V4L2
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select V4L2_FWNODE
	help
	  Support for STMicroelectronics MIPID02 CSI-2 to PARALLEL bridge.
	  It is used to allow usage of CSI-2 sensor with PARALLEL port
	  controller.

	  To compile this driver as a module, choose M here: the
	  module will be called st-mipid02.
endmenu

#
# V4L2 I2C drivers that are related with Camera support
#

menu "Camera sensor devices"
	visible if MEDIA_CAMERA_SUPPORT

config VIDEO_APTINA_PLL
	tristate

config VIDEO_SMIAPP_PLL
	tristate

config VIDEO_HI556
	tristate "Hynix Hi-556 sensor support"
	depends on I2C && VIDEO_V4L2
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select V4L2_FWNODE
	help
	  This is a Video4Linux2 sensor driver for the Hynix
	  Hi-556 camera.

	  To compile this driver as a module, choose M here: the
	  module will be called hi556.

config VIDEO_IMX214
	tristate "Sony IMX214 sensor support"
	depends on GPIOLIB && I2C && VIDEO_V4L2
	depends on V4L2_FWNODE
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select REGMAP_I2C
	help
	  This is a Video4Linux2 sensor driver for the Sony
	  IMX214 camera.

	  To compile this driver as a module, choose M here: the
	  module will be called imx214.

config VIDEO_IMX219
	tristate "Sony IMX219 sensor support"
	depends on I2C && VIDEO_V4L2
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select V4L2_FWNODE
	help
	  This is a Video4Linux2 sensor driver for the Sony
	  IMX219 camera.

	  To compile this driver as a module, choose M here: the
	  module will be called imx219.

config VIDEO_IMX258
	tristate "Sony IMX258 sensor support"
	depends on I2C && VIDEO_V4L2
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	help
	  This is a Video4Linux2 sensor driver for the Sony
	  IMX258 camera.

	  To compile this driver as a module, choose M here: the
	  module will be called imx258.

config VIDEO_IMX274
	tristate "Sony IMX274 sensor support"
	depends on I2C && VIDEO_V4L2
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select REGMAP_I2C
	help
	  This is a V4L2 sensor driver for the Sony IMX274
	  CMOS image sensor.

config VIDEO_IMX290
	tristate "Sony IMX290 sensor support"
	depends on I2C && VIDEO_V4L2
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select REGMAP_I2C
	select V4L2_FWNODE
	help
	  This is a Video4Linux2 sensor driver for the Sony
	  IMX290 camera sensor.

	  To compile this driver as a module, choose M here: the
	  module will be called imx290.

config VIDEO_IMX319
	tristate "Sony IMX319 sensor support"
	depends on I2C && VIDEO_V4L2
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	help
	  This is a Video4Linux2 sensor driver for the Sony
	  IMX319 camera.

	  To compile this driver as a module, choose M here: the
	  module will be called imx319.

config VIDEO_IMX355
	tristate "Sony IMX355 sensor support"
	depends on I2C && VIDEO_V4L2
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	help
	  This is a Video4Linux2 sensor driver for the Sony
	  IMX355 camera.

	  To compile this driver as a module, choose M here: the
	  module will be called imx355.

config VIDEO_OV2640
	tristate "OmniVision OV2640 sensor support"
	depends on VIDEO_V4L2 && I2C
	help
	  This is a Video4Linux2 sensor driver for the OmniVision
	  OV2640 camera.

	  To compile this driver as a module, choose M here: the
	  module will be called ov2640.

config VIDEO_OV2659
	tristate "OmniVision OV2659 sensor support"
	depends on VIDEO_V4L2 && I2C && GPIOLIB
	select V4L2_FWNODE
	help
	  This is a Video4Linux2 sensor driver for the OmniVision
	  OV2659 camera.

	  To compile this driver as a module, choose M here: the
	  module will be called ov2659.

config VIDEO_OV2680
	tristate "OmniVision OV2680 sensor support"
	depends on VIDEO_V4L2 && I2C
	select MEDIA_CONTROLLER
	select V4L2_FWNODE
	help
	  This is a Video4Linux2 sensor driver for the OmniVision
	  OV2680 camera.

	  To compile this driver as a module, choose M here: the
	  module will be called ov2680.

config VIDEO_OV2685
	tristate "OmniVision OV2685 sensor support"
	depends on VIDEO_V4L2 && I2C
	select MEDIA_CONTROLLER
	select V4L2_FWNODE
	help
	  This is a Video4Linux2 sensor driver for the OmniVision
	  OV2685 camera.

	  To compile this driver as a module, choose M here: the
	  module will be called ov2685.

config VIDEO_OV2740
	tristate "OmniVision OV2740 sensor support"
	depends on VIDEO_V4L2 && I2C
	depends on ACPI || COMPILE_TEST
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select V4L2_FWNODE
	help
	  This is a Video4Linux2 sensor driver for the OmniVision
	  OV2740 camera.

	  To compile this driver as a module, choose M here: the
	  module will be called ov2740.

config VIDEO_OV5640
	tristate "OmniVision OV5640 sensor support"
	depends on OF
	depends on GPIOLIB && VIDEO_V4L2 && I2C
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select V4L2_FWNODE
	help
	  This is a Video4Linux2 sensor driver for the Omnivision
	  OV5640 camera sensor with a MIPI CSI-2 interface.

config VIDEO_OV5645
	tristate "OmniVision OV5645 sensor support"
	depends on OF
	depends on I2C && VIDEO_V4L2
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select V4L2_FWNODE
	help
	  This is a Video4Linux2 sensor driver for the OmniVision
	  OV5645 camera.

	  To compile this driver as a module, choose M here: the
	  module will be called ov5645.

config VIDEO_OV5647
	tristate "OmniVision OV5647 sensor support"
	depends on I2C && VIDEO_V4L2
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select V4L2_FWNODE
	help
	  This is a Video4Linux2 sensor driver for the OmniVision
	  OV5647 camera.

	  To compile this driver as a module, choose M here: the
	  module will be called ov5647.

config VIDEO_OV6650
	tristate "OmniVision OV6650 sensor support"
	depends on I2C && VIDEO_V4L2
	help
	  This is a Video4Linux2 sensor driver for the OmniVision
	  OV6650 camera.

	  To compile this driver as a module, choose M here: the
	  module will be called ov6650.

config VIDEO_OV5670
	tristate "OmniVision OV5670 sensor support"
	depends on I2C && VIDEO_V4L2
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select V4L2_FWNODE
	help
	  This is a Video4Linux2 sensor driver for the OmniVision
	  OV5670 camera.

	  To compile this driver as a module, choose M here: the
	  module will be called ov5670.

config VIDEO_OV5675
	tristate "OmniVision OV5675 sensor support"
	depends on I2C && VIDEO_V4L2
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select V4L2_FWNODE
	help
	  This is a Video4Linux2 sensor driver for the OmniVision
	  OV5675 camera.

	  To compile this driver as a module, choose M here: the
	  module will be called ov5675.

config VIDEO_OV5695
	tristate "OmniVision OV5695 sensor support"
	depends on I2C && VIDEO_V4L2
	select V4L2_FWNODE
	help
	  This is a Video4Linux2 sensor driver for the OmniVision
	  OV5695 camera.

	  To compile this driver as a module, choose M here: the
	  module will be called ov5695.

config VIDEO_OV7251
	tristate "OmniVision OV7251 sensor support"
	depends on I2C && VIDEO_V4L2
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select V4L2_FWNODE
	help
	  This is a Video4Linux2 sensor driver for the OmniVision
	  OV7251 camera.

	  To compile this driver as a module, choose M here: the
	  module will be called ov7251.

config VIDEO_OV772X
	tristate "OmniVision OV772x sensor support"
	depends on I2C && VIDEO_V4L2
	select REGMAP_SCCB
	help
	  This is a Video4Linux2 sensor driver for the OmniVision
	  OV772x camera.

	  To compile this driver as a module, choose M here: the
	  module will be called ov772x.

config VIDEO_OV7640
	tristate "OmniVision OV7640 sensor support"
	depends on I2C && VIDEO_V4L2
	help
	  This is a Video4Linux2 sensor driver for the OmniVision
	  OV7640 camera.

	  To compile this driver as a module, choose M here: the
	  module will be called ov7640.

config VIDEO_OV7670
	tristate "OmniVision OV7670 sensor support"
	depends on I2C && VIDEO_V4L2
	select V4L2_FWNODE
	help
	  This is a Video4Linux2 sensor driver for the OmniVision
	  OV7670 VGA camera.  It currently only works with the M88ALP01
	  controller.

config VIDEO_OV7740
	tristate "OmniVision OV7740 sensor support"
	depends on I2C && VIDEO_V4L2
	select REGMAP_I2C
	help
	  This is a Video4Linux2 sensor driver for the OmniVision
	  OV7740 VGA camera sensor.

config VIDEO_OV8856
	tristate "OmniVision OV8856 sensor support"
	depends on I2C && VIDEO_V4L2
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select V4L2_FWNODE
	help
	  This is a Video4Linux2 sensor driver for the OmniVision
	  OV8856 camera sensor.

	  To compile this driver as a module, choose M here: the
	  module will be called ov8856.

config VIDEO_OV9640
	tristate "OmniVision OV9640 sensor support"
	depends on I2C && VIDEO_V4L2
	help
	  This is a Video4Linux2 sensor driver for the OmniVision
	  OV9640 camera sensor.

config VIDEO_OV9650
	tristate "OmniVision OV9650/OV9652 sensor support"
	depends on I2C && VIDEO_V4L2
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select REGMAP_SCCB
	help
	  This is a V4L2 sensor driver for the Omnivision
	  OV9650 and OV9652 camera sensors.

config VIDEO_OV13858
	tristate "OmniVision OV13858 sensor support"
	depends on I2C && VIDEO_V4L2
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select V4L2_FWNODE
	help
	  This is a Video4Linux2 sensor driver for the OmniVision
	  OV13858 camera.

config VIDEO_VS6624
	tristate "ST VS6624 sensor support"
	depends on VIDEO_V4L2 && I2C
	help
	  This is a Video4Linux2 sensor driver for the ST VS6624
	  camera.

	  To compile this driver as a module, choose M here: the
	  module will be called vs6624.

config VIDEO_MT9M001
	tristate "mt9m001 support"
	depends on I2C && VIDEO_V4L2
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	help
	  This driver supports MT9M001 cameras from Micron, monochrome
	  and colour models.

config VIDEO_MT9M032
	tristate "MT9M032 camera sensor support"
	depends on I2C && VIDEO_V4L2
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select VIDEO_APTINA_PLL
	help
	  This driver supports MT9M032 camera sensors from Aptina, monochrome
	  models only.

config VIDEO_MT9M111
	tristate "mt9m111, mt9m112 and mt9m131 support"
	depends on I2C && VIDEO_V4L2
	select V4L2_FWNODE
	help
	  This driver supports MT9M111, MT9M112 and MT9M131 cameras from
	  Micron/Aptina

config VIDEO_MT9P031
	tristate "Aptina MT9P031 support"
	depends on I2C && VIDEO_V4L2
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select VIDEO_APTINA_PLL
	help
	  This is a Video4Linux2 sensor driver for the Aptina
	  (Micron) mt9p031 5 Mpixel camera.

config VIDEO_MT9T001
	tristate "Aptina MT9T001 support"
	depends on I2C && VIDEO_V4L2
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	help
	  This is a Video4Linux2 sensor driver for the Aptina
	  (Micron) mt0t001 3 Mpixel camera.

config VIDEO_MT9T112
	tristate "Aptina MT9T111/MT9T112 support"
	depends on I2C && VIDEO_V4L2
	help
	  This is a Video4Linux2 sensor driver for the Aptina
	  (Micron) MT9T111 and MT9T112 3 Mpixel camera.

	  To compile this driver as a module, choose M here: the
	  module will be called mt9t112.

config VIDEO_MT9V011
	tristate "Micron mt9v011 sensor support"
	depends on I2C && VIDEO_V4L2
	help
	  This is a Video4Linux2 sensor driver for the Micron
	  mt0v011 1.3 Mpixel camera.  It currently only works with the
	  em28xx driver.

config VIDEO_MT9V032
	tristate "Micron MT9V032 sensor support"
	depends on I2C && VIDEO_V4L2
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select REGMAP_I2C
	select V4L2_FWNODE
	help
	  This is a Video4Linux2 sensor driver for the Micron
	  MT9V032 752x480 CMOS sensor.

config VIDEO_MT9V111
	tristate "Aptina MT9V111 sensor support"
	depends on I2C && VIDEO_V4L2
	help
	  This is a Video4Linux2 sensor driver for the Aptina/Micron
	  MT9V111 sensor.

	  To compile this driver as a module, choose M here: the
	  module will be called mt9v111.

config VIDEO_SR030PC30
	tristate "Siliconfile SR030PC30 sensor support"
	depends on I2C && VIDEO_V4L2
	help
	  This driver supports SR030PC30 VGA camera from Siliconfile

config VIDEO_NOON010PC30
	tristate "Siliconfile NOON010PC30 sensor support"
	depends on I2C && VIDEO_V4L2
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	help
	  This driver supports NOON010PC30 CIF camera from Siliconfile

# SPDX-License-Identifier: GPL-2.0-only
config VIDEO_M5MOLS
	tristate "Fujitsu M-5MOLS 8MP sensor support"
	depends on I2C && VIDEO_V4L2
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	help
	  This driver supports Fujitsu M-5MOLS camera sensor with ISP

config VIDEO_RJ54N1
	tristate "Sharp RJ54N1CB0C sensor support"
	depends on I2C && VIDEO_V4L2
	help
	  This is a V4L2 sensor driver for Sharp RJ54N1CB0C CMOS image
	  sensor.

	  To compile this driver as a module, choose M here: the
	  module will be called rj54n1.

config VIDEO_S5K6AA
	tristate "Samsung S5K6AAFX sensor support"
	depends on I2C && VIDEO_V4L2
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	help
	  This is a V4L2 sensor driver for Samsung S5K6AA(FX) 1.3M
	  camera sensor with an embedded SoC image signal processor.

config VIDEO_S5K6A3
	tristate "Samsung S5K6A3 sensor support"
	depends on I2C && VIDEO_V4L2
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	help
	  This is a V4L2 sensor driver for Samsung S5K6A3 raw
	  camera sensor.

config VIDEO_S5K4ECGX
	tristate "Samsung S5K4ECGX sensor support"
	depends on I2C && VIDEO_V4L2
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select CRC32
	help
	  This is a V4L2 sensor driver for Samsung S5K4ECGX 5M
	  camera sensor with an embedded SoC image signal processor.

config VIDEO_S5K5BAF
	tristate "Samsung S5K5BAF sensor support"
	depends on I2C && VIDEO_V4L2
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select V4L2_FWNODE
	help
	  This is a V4L2 sensor driver for Samsung S5K5BAF 2M
	  camera sensor with an embedded SoC image signal processor.

# SPDX-License-Identifier: GPL-2.0-only
config VIDEO_SMIAPP
	tristate "SMIA++/SMIA sensor support"
	depends on I2C && VIDEO_V4L2 && HAVE_CLK
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select VIDEO_SMIAPP_PLL
	select V4L2_FWNODE
	help
	  This is a generic driver for SMIA++/SMIA camera modules.
# SPDX-License-Identifier: GPL-2.0-only
config VIDEO_ET8EK8
	tristate "ET8EK8 camera sensor support"
	depends on I2C && VIDEO_V4L2
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select V4L2_FWNODE
	help
	  This is a driver for the Toshiba ET8EK8 5 MP camera sensor.
	  It is used for example in Nokia N900 (RX-51).

config VIDEO_S5C73M3
	tristate "Samsung S5C73M3 sensor support"
	depends on I2C && SPI && VIDEO_V4L2
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select V4L2_FWNODE
	help
	  This is a V4L2 sensor driver for Samsung S5C73M3
	  8 Mpixel camera.

endmenu

menu "Lens drivers"
	visible if MEDIA_CAMERA_SUPPORT

config VIDEO_AD5820
	tristate "AD5820 lens voice coil support"
	depends on GPIOLIB && I2C && VIDEO_V4L2
	select MEDIA_CONTROLLER
	help
	  This is a driver for the AD5820 camera lens voice coil.
	  It is used for example in Nokia N900 (RX-51).

config VIDEO_AK7375
	tristate "AK7375 lens voice coil support"
	depends on I2C && VIDEO_V4L2
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	help
	  This is a driver for the AK7375 camera lens voice coil.
	  AK7375 is a 12 bit DAC with 120mA output current sink
	  capability. This is designed for linear control of
	  voice coil motors, controlled via I2C serial interface.

config VIDEO_DW9714
	tristate "DW9714 lens voice coil support"
	depends on I2C && VIDEO_V4L2
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	help
	  This is a driver for the DW9714 camera lens voice coil.
	  DW9714 is a 10 bit DAC with 120mA output current sink
	  capability. This is designed for linear control of
	  voice coil motors, controlled via I2C serial interface.

config VIDEO_DW9807_VCM
	tristate "DW9807 lens voice coil support"
	depends on I2C && VIDEO_V4L2
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	help
	  This is a driver for the DW9807 camera lens voice coil.
	  DW9807 is a 10 bit DAC with 100mA output current sink
	  capability. This is designed for linear control of
	  voice coil motors, controlled via I2C serial interface.

endmenu

menu "Flash devices"
	visible if MEDIA_CAMERA_SUPPORT

config VIDEO_ADP1653
	tristate "ADP1653 flash support"
	depends on I2C && VIDEO_V4L2
	select MEDIA_CONTROLLER
	help
	  This is a driver for the ADP1653 flash controller. It is used for
	  example in Nokia N900.

config VIDEO_LM3560
	tristate "LM3560 dual flash driver support"
	depends on I2C && VIDEO_V4L2
	select MEDIA_CONTROLLER
	select REGMAP_I2C
	help
	  This is a driver for the lm3560 dual flash controllers. It controls
	  flash, torch LEDs.

config VIDEO_LM3646
	tristate "LM3646 dual flash driver support"
	depends on I2C && VIDEO_V4L2
	select MEDIA_CONTROLLER
	select REGMAP_I2C
	help
	  This is a driver for the lm3646 dual flash controllers. It controls
	  flash, torch LEDs.
endmenu

endif # VIDEO_V4L2
# SPDX-License-Identifier: GPL-2.0-only
if VIDEO_V4L2

comment "SPI I2C drivers auto-selected by 'Autoselect ancillary drivers'"
	depends on MEDIA_HIDE_ANCILLARY_SUBDRV && SPI

menu "SPI helper chips"
	visible if !MEDIA_HIDE_ANCILLARY_SUBDRV

config VIDEO_GS1662
	tristate "Gennum Serializers video"
	depends on SPI && VIDEO_V4L2
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	help
	  Enable the GS1662 driver which serializes video streams.

endmenu

endif

if SPI
menu "Media SPI Adapters"

config CXD2880_SPI_DRV
	tristate "Sony CXD2880 SPI support"
	depends on DVB_CORE && SPI
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  Choose if you would like to have SPI interface support for Sony CXD2880.

endmenu

endif
# SPDX-License-Identifier: GPL-2.0-only
# Analog TV tuners, auto-loaded via tuner.ko
config MEDIA_TUNER
	tristate
	depends on (MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_RADIO_SUPPORT || MEDIA_SDR_SUPPORT) && I2C
	default y
	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_MT20XX if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_TDA8290 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_TEA5761 if MEDIA_SUBDRV_AUTOSELECT && MEDIA_RADIO_SUPPORT
	select MEDIA_TUNER_TEA5767 if MEDIA_SUBDRV_AUTOSELECT && MEDIA_RADIO_SUPPORT
	select MEDIA_TUNER_SIMPLE if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_TDA9887 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_MC44S803 if MEDIA_SUBDRV_AUTOSELECT

comment "Tuner drivers auto-selected by 'Autoselect ancillary drivers'"
	depends on MEDIA_HIDE_ANCILLARY_SUBDRV
	depends on MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_RADIO_SUPPORT || MEDIA_SDR_SUPPORT

menu "Customize TV tuners"
	visible if !MEDIA_HIDE_ANCILLARY_SUBDRV
	depends on MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_RADIO_SUPPORT || MEDIA_SDR_SUPPORT

config MEDIA_TUNER_SIMPLE
	tristate "Simple tuner support"
	depends on MEDIA_SUPPORT && I2C
	select MEDIA_TUNER_TDA9887
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  Say Y here to include support for various simple tuners.

config MEDIA_TUNER_TDA18250
	tristate "NXP TDA18250 silicon tuner"
	depends on MEDIA_SUPPORT && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  Say Y here to include support for TDA18250 tuner.

config MEDIA_TUNER_TDA8290
	tristate "TDA 8290/8295 + 8275(a)/18271 tuner combo"
	depends on MEDIA_SUPPORT && I2C
	select MEDIA_TUNER_TDA827X
	select MEDIA_TUNER_TDA18271
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  Say Y here to include support for Philips TDA8290+8275(a) tuner.

config MEDIA_TUNER_TDA827X
	tristate "Philips TDA827X silicon tuner"
	depends on MEDIA_SUPPORT && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A DVB-T silicon tuner module. Say Y when you want to support this tuner.

config MEDIA_TUNER_TDA18271
	tristate "NXP TDA18271 silicon tuner"
	depends on MEDIA_SUPPORT && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A silicon tuner module. Say Y when you want to support this tuner.

config MEDIA_TUNER_TDA9887
	tristate "TDA 9885/6/7 analog IF demodulator"
	depends on MEDIA_SUPPORT && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  Say Y here to include support for Philips TDA9885/6/7
	  analog IF demodulator.

config MEDIA_TUNER_TEA5761
	tristate "TEA 5761 radio tuner"
	depends on MEDIA_SUPPORT && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  Say Y here to include support for the Philips TEA5761 radio tuner.

config MEDIA_TUNER_TEA5767
	tristate "TEA 5767 radio tuner"
	depends on MEDIA_SUPPORT && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  Say Y here to include support for the Philips TEA5767 radio tuner.

config MEDIA_TUNER_MSI001
	tristate "Mirics MSi001"
	depends on MEDIA_SUPPORT && SPI && VIDEO_V4L2
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  Mirics MSi001 silicon tuner driver.

config MEDIA_TUNER_MT20XX
	tristate "Microtune 2032 / 2050 tuners"
	depends on MEDIA_SUPPORT && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  Say Y here to include support for the MT2032 / MT2050 tuner.

config MEDIA_TUNER_MT2060
	tristate "Microtune MT2060 silicon IF tuner"
	depends on MEDIA_SUPPORT && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A driver for the silicon IF tuner MT2060 from Microtune.

config MEDIA_TUNER_MT2063
	tristate "Microtune MT2063 silicon IF tuner"
	depends on MEDIA_SUPPORT && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A driver for the silicon IF tuner MT2063 from Microtune.

config MEDIA_TUNER_MT2266
	tristate "Microtune MT2266 silicon tuner"
	depends on MEDIA_SUPPORT && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A driver for the silicon baseband tuner MT2266 from Microtune.

config MEDIA_TUNER_MT2131
	tristate "Microtune MT2131 silicon tuner"
	depends on MEDIA_SUPPORT && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A driver for the silicon baseband tuner MT2131 from Microtune.

config MEDIA_TUNER_QT1010
	tristate "Quantek QT1010 silicon tuner"
	depends on MEDIA_SUPPORT && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A driver for the silicon tuner QT1010 from Quantek.

config MEDIA_TUNER_XC2028
	tristate "XCeive xc2028/xc3028 tuners"
	depends on MEDIA_SUPPORT && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  Say Y here to include support for the xc2028/xc3028 tuners.

config MEDIA_TUNER_XC5000
	tristate "Xceive XC5000 silicon tuner"
	depends on MEDIA_SUPPORT && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A driver for the silicon tuner XC5000 from Xceive.
	  This device is only used inside a SiP called together with a
	  demodulator for now.

config MEDIA_TUNER_XC4000
	tristate "Xceive XC4000 silicon tuner"
	depends on MEDIA_SUPPORT && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A driver for the silicon tuner XC4000 from Xceive.
	  This device is only used inside a SiP called together with a
	  demodulator for now.

config MEDIA_TUNER_MXL5005S
	tristate "MaxLinear MSL5005S silicon tuner"
	depends on MEDIA_SUPPORT && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A driver for the silicon tuner MXL5005S from MaxLinear.

config MEDIA_TUNER_MXL5007T
	tristate "MaxLinear MxL5007T silicon tuner"
	depends on MEDIA_SUPPORT && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A driver for the silicon tuner MxL5007T from MaxLinear.

config MEDIA_TUNER_MC44S803
	tristate "Freescale MC44S803 Low Power CMOS Broadband tuners"
	depends on MEDIA_SUPPORT && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  Say Y here to support the Freescale MC44S803 based tuners

config MEDIA_TUNER_MAX2165
	tristate "Maxim MAX2165 silicon tuner"
	depends on MEDIA_SUPPORT && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A driver for the silicon tuner MAX2165 from Maxim.

config MEDIA_TUNER_TDA18218
	tristate "NXP TDA18218 silicon tuner"
	depends on MEDIA_SUPPORT && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  NXP TDA18218 silicon tuner driver.

config MEDIA_TUNER_FC0011
	tristate "Fitipower FC0011 silicon tuner"
	depends on MEDIA_SUPPORT && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  Fitipower FC0011 silicon tuner driver.

config MEDIA_TUNER_FC0012
	tristate "Fitipower FC0012 silicon tuner"
	depends on MEDIA_SUPPORT && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  Fitipower FC0012 silicon tuner driver.

config MEDIA_TUNER_FC0013
	tristate "Fitipower FC0013 silicon tuner"
	depends on MEDIA_SUPPORT && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  Fitipower FC0013 silicon tuner driver.

config MEDIA_TUNER_TDA18212
	tristate "NXP TDA18212 silicon tuner"
	depends on MEDIA_SUPPORT && I2C
	select REGMAP_I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  NXP TDA18212 silicon tuner driver.

config MEDIA_TUNER_E4000
	tristate "Elonics E4000 silicon tuner"
	depends on MEDIA_SUPPORT && I2C && VIDEO_V4L2
	select REGMAP_I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  Elonics E4000 silicon tuner driver.

config MEDIA_TUNER_FC2580
	tristate "FCI FC2580 silicon tuner"
	depends on MEDIA_SUPPORT && I2C && VIDEO_V4L2
	select REGMAP_I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  FCI FC2580 silicon tuner driver.

config MEDIA_TUNER_M88RS6000T
	tristate "Montage M88RS6000 internal tuner"
	depends on MEDIA_SUPPORT && I2C
	select REGMAP_I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  Montage M88RS6000 internal tuner.

config MEDIA_TUNER_TUA9001
	tristate "Infineon TUA9001 silicon tuner"
	depends on MEDIA_SUPPORT && I2C
	select REGMAP_I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  Infineon TUA 9001 silicon tuner driver.

config MEDIA_TUNER_SI2157
	tristate "Silicon Labs Si2157 silicon tuner"
	depends on MEDIA_SUPPORT && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  Silicon Labs Si2157 silicon tuner driver.

config MEDIA_TUNER_IT913X
	tristate "ITE Tech IT913x silicon tuner"
	depends on MEDIA_SUPPORT && I2C
	select REGMAP_I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  ITE Tech IT913x silicon tuner driver.

config MEDIA_TUNER_R820T
	tristate "Rafael Micro R820T silicon tuner"
	depends on MEDIA_SUPPORT && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	select BITREVERSE
	help
	  Rafael Micro R820T silicon tuner driver.

config MEDIA_TUNER_MXL301RF
	tristate "MaxLinear MxL301RF tuner"
	depends on MEDIA_SUPPORT && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  MaxLinear MxL301RF OFDM tuner driver.

config MEDIA_TUNER_QM1D1C0042
	tristate "Sharp QM1D1C0042 tuner"
	depends on MEDIA_SUPPORT && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  Sharp QM1D1C0042 trellis coded 8PSK tuner driver.

config MEDIA_TUNER_QM1D1B0004
	tristate "Sharp QM1D1B0004 tuner"
	depends on MEDIA_SUPPORT && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  Sharp QM1D1B0004 ISDB-S tuner driver.

config MEDIA_TUNER_MXL603
	tristate "MaxLinear MSL603 silicon tuner"
	depends on MEDIA_SUPPORT && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A driver for the silicon tuner MXL603 from MaxLinear.


endmenu
# SPDX-License-Identifier: GPL-2.0

if MEDIA_DIGITAL_TV_SUPPORT

comment "DVB Frontend drivers auto-selected by 'Autoselect ancillary drivers'"
	depends on MEDIA_HIDE_ANCILLARY_SUBDRV

menu "Customise DVB Frontends"
	visible if !MEDIA_HIDE_ANCILLARY_SUBDRV

comment "Multistandard (satellite) frontends"
	depends on DVB_CORE

config DVB_STB0899
	tristate "STB0899 based"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A DVB-S/S2/DSS Multistandard demodulator. Say Y when you want
	  to support this demodulator based frontends

config DVB_STB6100
	tristate "STB6100 based tuners"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A Silicon tuner from ST used in conjunction with the STB0899
	  demodulator. Say Y when you want to support this tuner.

config DVB_STV090x
	tristate "STV0900/STV0903(A/B) based"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  DVB-S/S2/DSS Multistandard Professional/Broadcast demodulators.
	  Say Y when you want to support these frontends.

config DVB_STV0910
	tristate "STV0910 based"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  ST STV0910 DVB-S/S2 demodulator driver.

	  Say Y when you want to support these frontends.

config DVB_STV6110x
	tristate "STV6110/(A) based tuners"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A Silicon tuner that supports DVB-S and DVB-S2 modes

config DVB_STV6111
	tristate "STV6111 based tuners"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A Silicon tuner that supports DVB-S and DVB-S2 modes

	  Say Y when you want to support these frontends.

config DVB_MXL5XX
	tristate "MaxLinear MxL5xx based tuner-demodulators"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  MaxLinear MxL5xx family of DVB-S/S2 tuners/demodulators.

	  Say Y when you want to support these frontends.

config DVB_M88DS3103
	tristate "Montage Technology M88DS3103"
	depends on DVB_CORE && I2C && I2C_MUX
	select REGMAP_I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  Say Y when you want to support this frontend.

comment "Multistandard (cable + terrestrial) frontends"
	depends on DVB_CORE

config DVB_DRXK
	tristate "Micronas DRXK based"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  Micronas DRX-K DVB-C/T demodulator.

	  Say Y when you want to support this frontend.

config DVB_TDA18271C2DD
	tristate "NXP TDA18271C2 silicon tuner"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  NXP TDA18271 silicon tuner.

	  Say Y when you want to support this tuner.

config DVB_SI2165
	tristate "Silicon Labs si2165 based"
	depends on DVB_CORE && I2C
	select REGMAP_I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A DVB-C/T demodulator.

	  Say Y when you want to support this frontend.

config DVB_MN88472
	tristate "Panasonic MN88472"
	depends on DVB_CORE && I2C
	select REGMAP_I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  Say Y when you want to support this frontend.

config DVB_MN88473
	tristate "Panasonic MN88473"
	depends on DVB_CORE && I2C
	select REGMAP_I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  Say Y when you want to support this frontend.

comment "DVB-S (satellite) frontends"
	depends on DVB_CORE

config DVB_CX24110
	tristate "Conexant CX24110 based"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A DVB-S tuner module. Say Y when you want to support this frontend.

config DVB_CX24123
	tristate "Conexant CX24123 based"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A DVB-S tuner module. Say Y when you want to support this frontend.

config DVB_MT312
	tristate "Zarlink VP310/MT312/ZL10313 based"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A DVB-S tuner module. Say Y when you want to support this frontend.

config DVB_ZL10036
	tristate "Zarlink ZL10036 silicon tuner"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A DVB-S tuner module. Say Y when you want to support this frontend.

config DVB_ZL10039
	tristate "Zarlink ZL10039 silicon tuner"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A DVB-S tuner module. Say Y when you want to support this frontend.

config DVB_S5H1420
	tristate "Samsung S5H1420 based"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A DVB-S tuner module. Say Y when you want to support this frontend.

config DVB_STV0288
	tristate "ST STV0288 based"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A DVB-S tuner module. Say Y when you want to support this frontend.

config DVB_STB6000
	tristate "ST STB6000 silicon tuner"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A DVB-S silicon tuner module. Say Y when you want to support this tuner.

config DVB_STV0299
	tristate "ST STV0299 based"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A DVB-S tuner module. Say Y when you want to support this frontend.

config DVB_STV6110
	tristate "ST STV6110 silicon tuner"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A DVB-S silicon tuner module. Say Y when you want to support this tuner.

config DVB_STV0900
	tristate "ST STV0900 based"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A DVB-S/S2 demodulator. Say Y when you want to support this frontend.

config DVB_TDA8083
	tristate "Philips TDA8083 based"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A DVB-S tuner module. Say Y when you want to support this frontend.

config DVB_TDA10086
	tristate "Philips TDA10086 based"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A DVB-S tuner module. Say Y when you want to support this frontend.

config DVB_TDA8261
	tristate "Philips TDA8261 based"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A DVB-S tuner module. Say Y when you want to support this frontend.

config DVB_VES1X93
	tristate "VLSI VES1893 or VES1993 based"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A DVB-S tuner module. Say Y when you want to support this frontend.

config DVB_TUNER_ITD1000
	tristate "Integrant ITD1000 Zero IF tuner for DVB-S/DSS"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A DVB-S tuner module. Say Y when you want to support this frontend.

config DVB_TUNER_CX24113
	tristate "Conexant CX24113/CX24128 tuner for DVB-S/DSS"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A DVB-S tuner module. Say Y when you want to support this frontend.


config DVB_TDA826X
	tristate "Philips TDA826X silicon tuner"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A DVB-S silicon tuner module. Say Y when you want to support this tuner.

config DVB_TUA6100
	tristate "Infineon TUA6100 PLL"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A DVB-S PLL chip.

config DVB_CX24116
	tristate "Conexant CX24116 based"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A DVB-S/S2 tuner module. Say Y when you want to support this frontend.

config DVB_CX24117
	tristate "Conexant CX24117 based"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A Dual DVB-S/S2 tuner module. Say Y when you want to support this frontend.

config DVB_CX24120
	tristate "Conexant CX24120 based"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A DVB-S/S2 tuner module. Say Y when you want to support this frontend.

config DVB_SI21XX
	tristate "Silicon Labs SI21XX based"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A DVB-S tuner module. Say Y when you want to support this frontend.

config DVB_TS2020
	tristate "Montage Tehnology TS2020 based tuners"
	depends on DVB_CORE && I2C
	select REGMAP_I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A DVB-S/S2 silicon tuner. Say Y when you want to support this tuner.

config DVB_DS3000
	tristate "Montage Tehnology DS3000 based"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A DVB-S/S2 tuner module. Say Y when you want to support this frontend.

config DVB_MB86A16
	tristate "Fujitsu MB86A16 based"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A DVB-S/DSS Direct Conversion reveiver.
	  Say Y when you want to support this frontend.

config DVB_TDA10071
	tristate "NXP TDA10071"
	depends on DVB_CORE && I2C
	select REGMAP_I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  Say Y when you want to support this frontend.

config DVB_M88RS6000B
	tristate "Montage Tehnology RS6000B based"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A DVB-S/S2 tuner module. Say Y when you want to support this frontend.


comment "DVB-T (terrestrial) frontends"
	depends on DVB_CORE

config DVB_SP8870
	tristate "Spase sp8870 based"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A DVB-T tuner module. Say Y when you want to support this frontend.

	  This driver needs external firmware. Please use the command
	  "<kerneldir>/scripts/get_dvb_firmware sp8870" to
	  download/extract it, and then copy it to /usr/lib/hotplug/firmware
	  or /lib/firmware (depending on configuration of firmware hotplug).

config DVB_SP887X
	tristate "Spase sp887x based"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A DVB-T tuner module. Say Y when you want to support this frontend.

	  This driver needs external firmware. Please use the command
	  "<kerneldir>/scripts/get_dvb_firmware sp887x" to
	  download/extract it, and then copy it to /usr/lib/hotplug/firmware
	  or /lib/firmware (depending on configuration of firmware hotplug).

config DVB_CX22700
	tristate "Conexant CX22700 based"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A DVB-T tuner module. Say Y when you want to support this frontend.

config DVB_CX22702
	tristate "Conexant cx22702 demodulator (OFDM)"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A DVB-T tuner module. Say Y when you want to support this frontend.

config DVB_S5H1432
	tristate "Samsung s5h1432 demodulator (OFDM)"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A DVB-T tuner module. Say Y when you want to support this frontend.

config DVB_DRXD
	tristate "Micronas DRXD driver"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A DVB-T tuner module. Say Y when you want to support this frontend.

	  Note: this driver was based on vendor driver reference code (released
	  under the GPL) as opposed to the existing drx397xd driver, which
	  was written via reverse engineering.

config DVB_L64781
	tristate "LSI L64781"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A DVB-T tuner module. Say Y when you want to support this frontend.

config DVB_TDA1004X
	tristate "Philips TDA10045H/TDA10046H based"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A DVB-T tuner module. Say Y when you want to support this frontend.

	  This driver needs external firmware. Please use the commands
	  "<kerneldir>/scripts/get_dvb_firmware tda10045",
	  "<kerneldir>/scripts/get_dvb_firmware tda10046" to
	  download/extract them, and then copy them to /usr/lib/hotplug/firmware
	  or /lib/firmware (depending on configuration of firmware hotplug).

config DVB_NXT6000
	tristate "NxtWave Communications NXT6000 based"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A DVB-T tuner module. Say Y when you want to support this frontend.

config DVB_MT352
	tristate "Zarlink MT352 based"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A DVB-T tuner module. Say Y when you want to support this frontend.

config DVB_ZL10353
	tristate "Zarlink ZL10353 based"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A DVB-T tuner module. Say Y when you want to support this frontend.

config DVB_DIB3000MB
	tristate "DiBcom 3000M-B"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A DVB-T tuner module. Designed for mobile usage. Say Y when you want
	  to support this frontend.

config DVB_DIB3000MC
	tristate "DiBcom 3000P/M-C"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A DVB-T tuner module. Designed for mobile usage. Say Y when you want
	  to support this frontend.

config DVB_DIB7000M
	tristate "DiBcom 7000MA/MB/PA/PB/MC"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A DVB-T tuner module. Designed for mobile usage. Say Y when you want
	  to support this frontend.

config DVB_DIB7000P
	tristate "DiBcom 7000PC"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A DVB-T tuner module. Designed for mobile usage. Say Y when you want
	  to support this frontend.

config DVB_DIB9000
	tristate "DiBcom 9000"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A DVB-T tuner module. Designed for mobile usage. Say Y when you want
	  to support this frontend.

config DVB_TDA10048
	tristate "Philips TDA10048HN based"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A DVB-T tuner module. Say Y when you want to support this frontend.

config DVB_AF9013
	tristate "Afatech AF9013 demodulator"
	depends on DVB_CORE && I2C && I2C_MUX
	select REGMAP
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  Say Y when you want to support this frontend.

config DVB_EC100
	tristate "E3C EC100"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  Say Y when you want to support this frontend.

config DVB_STV0367
	tristate "ST STV0367 based"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A DVB-T/C tuner module. Say Y when you want to support this frontend.

config DVB_CXD2820R
	tristate "Sony CXD2820R"
	depends on DVB_CORE && I2C
	select REGMAP_I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  Say Y when you want to support this frontend.

config DVB_CXD2841ER
	tristate "Sony CXD2841ER"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  Say Y when you want to support this frontend.

config DVB_RTL2830
	tristate "Realtek RTL2830 DVB-T"
	depends on DVB_CORE && I2C && I2C_MUX
	select REGMAP
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  Say Y when you want to support this frontend.

config DVB_RTL2832
	tristate "Realtek RTL2832 DVB-T"
	depends on DVB_CORE && I2C && I2C_MUX
	select REGMAP
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  Say Y when you want to support this frontend.

config DVB_RTL2832_SDR
	tristate "Realtek RTL2832 SDR"
	depends on DVB_CORE && I2C && I2C_MUX && VIDEO_V4L2 && MEDIA_SDR_SUPPORT && USB
	select DVB_RTL2832
	select VIDEOBUF2_VMALLOC
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  Say Y when you want to support this SDR module.

config DVB_SI2168
	tristate "Silicon Labs Si2168"
	depends on DVB_CORE && I2C && I2C_MUX
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  Say Y when you want to support this frontend.

config DVB_SI2183
	tristate "Silicon labs SI2183 DVB-T/T2"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  Say Y when you want to support this frontend.

config DVB_AS102_FE
	tristate
	depends on DVB_CORE
	default DVB_AS102

config DVB_ZD1301_DEMOD
	tristate "ZyDAS ZD1301"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  Say Y when you want to support this frontend.

config DVB_GP8PSK_FE
	tristate
	depends on DVB_CORE
	default DVB_USB_GP8PSK

# SPDX-License-Identifier: GPL-2.0

config DVB_CXD2880
	tristate "Sony CXD2880 DVB-T2/T tuner + demodulator"
	depends on DVB_CORE && SPI
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  Say Y when you want to support this frontend.# SPDX-License-Identifier: GPL-2.0

config DVB_CXD2858
	tristate "Sony CXD2858 DVB-T2/T tuner + demodulator"
	depends on DVB_CORE && SPI
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  Say Y when you want to support this frontend.
comment "DVB-C (cable) frontends"
	depends on DVB_CORE

config DVB_VES1820
	tristate "VLSI VES1820 based"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A DVB-C tuner module. Say Y when you want to support this frontend.

config DVB_TDA10021
	tristate "Philips TDA10021 based"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A DVB-C tuner module. Say Y when you want to support this frontend.

config DVB_TDA10023
	tristate "Philips TDA10023 based"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A DVB-C tuner module. Say Y when you want to support this frontend.

config DVB_STV0297
	tristate "ST STV0297 based"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A DVB-C tuner module. Say Y when you want to support this frontend.

comment "ATSC (North American/Korean Terrestrial/Cable DTV) frontends"
	depends on DVB_CORE

config DVB_NXT200X
	tristate "NxtWave Communications NXT2002/NXT2004 based"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  An ATSC 8VSB and QAM64/256 tuner module. Say Y when you want
	  to support this frontend.

	  This driver needs external firmware. Please use the commands
	  "<kerneldir>/scripts/get_dvb_firmware nxt2002" and
	  "<kerneldir>/scripts/get_dvb_firmware nxt2004" to
	  download/extract them, and then copy them to /usr/lib/hotplug/firmware
	  or /lib/firmware (depending on configuration of firmware hotplug).

config DVB_OR51211
	tristate "Oren OR51211 based"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  An ATSC 8VSB tuner module. Say Y when you want to support this frontend.

	  This driver needs external firmware. Please use the command
	  "<kerneldir>/scripts/get_dvb_firmware or51211" to
	  download it, and then copy it to /usr/lib/hotplug/firmware
	  or /lib/firmware (depending on configuration of firmware hotplug).

config DVB_OR51132
	tristate "Oren OR51132 based"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  An ATSC 8VSB and QAM64/256 tuner module. Say Y when you want
	  to support this frontend.

	  This driver needs external firmware. Please use the commands
	  "<kerneldir>/scripts/get_dvb_firmware or51132_vsb" and/or
	  "<kerneldir>/scripts/get_dvb_firmware or51132_qam" to
	  download firmwares for 8VSB and QAM64/256, respectively. Copy them to
	  /usr/lib/hotplug/firmware or /lib/firmware (depending on
	  configuration of firmware hotplug).

config DVB_BCM3510
	tristate "Broadcom BCM3510"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  An ATSC 8VSB/16VSB and QAM64/256 tuner module. Say Y when you want to
	  support this frontend.

config DVB_LGDT330X
	tristate "LG Electronics LGDT3302/LGDT3303 based"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  An ATSC 8VSB and QAM64/256 tuner module. Say Y when you want
	  to support this frontend.

config DVB_LGDT3305
	tristate "LG Electronics LGDT3304 and LGDT3305 based"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  An ATSC 8VSB and QAM64/256 tuner module. Say Y when you want
	  to support this frontend.

config DVB_LGDT3306A
	tristate "LG Electronics LGDT3306A based"
	depends on DVB_CORE && I2C && I2C_MUX
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  An ATSC 8VSB and QAM-B 64/256 demodulator module. Say Y when you want
	  to support this frontend.

config DVB_LG2160
	tristate "LG Electronics LG216x based"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  An ATSC/MH demodulator module. Say Y when you want
	  to support this frontend.

config DVB_S5H1409
	tristate "Samsung S5H1409 based"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  An ATSC 8VSB and QAM64/256 tuner module. Say Y when you want
	  to support this frontend.

config DVB_AU8522
	depends on DVB_CORE && I2C
	tristate

config DVB_AU8522_DTV
	tristate "Auvitek AU8522 based DTV demod"
	depends on DVB_CORE && I2C
	select DVB_AU8522
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  An ATSC 8VSB, QAM64/256 & NTSC demodulator module. Say Y when
	  you want to enable DTV demodulation support for this frontend.

config DVB_AU8522_V4L
	tristate "Auvitek AU8522 based ATV demod"
	depends on VIDEO_V4L2 && DVB_CORE && I2C
	select DVB_AU8522
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  An ATSC 8VSB, QAM64/256 & NTSC demodulator module. Say Y when
	  you want to enable ATV demodulation support for this frontend.

config DVB_S5H1411
	tristate "Samsung S5H1411 based"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  An ATSC 8VSB and QAM64/256 tuner module. Say Y when you want
	  to support this frontend.

config DVB_MN88436
	tristate "Panasonic MN88436 based"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  An ATSC 8VSB and QAM64/256 tuner module. Say Y when you want
	  to support this frontend.

config DVB_MXL692
	tristate "Maxlinear MxL692 ATSC/QAM"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  Say Y when you want to support this frontend.



comment "ISDB-T (terrestrial) frontends"
	depends on DVB_CORE

config DVB_S921
	tristate "Sharp S921 frontend"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  AN ISDB-T DQPSK, QPSK, 16QAM and 64QAM 1seg tuner module.
	  Say Y when you want to support this frontend.

config DVB_DIB8000
	tristate "DiBcom 8000MB/MC"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A driver for DiBcom's DiB8000 ISDB-T/ISDB-Tsb demodulator.
	  Say Y when you want to support this frontend.

config DVB_MB86A20S
	tristate "Fujitsu mb86a20s"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A driver for Fujitsu mb86a20s ISDB-T/ISDB-Tsb demodulator.
	  Say Y when you want to support this frontend.

comment "ISDB-S (satellite) & ISDB-T (terrestrial) frontends"
	depends on DVB_CORE

config DVB_TC90522
	tristate "Toshiba TC90522"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  Toshiba TC90522 2xISDB-S 8PSK + 2xISDB-T OFDM demodulator.
	  Say Y when you want to support this frontend.

config DVB_MN88443X
	tristate "Socionext MN88443x"
	depends on DVB_CORE && I2C
	select REGMAP_I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A driver for Socionext/Panasonic MN884433 and MN884434
	  ISDB-S + ISDB-T demodulator.
	  Say Y when you want to support this frontend.

comment "Digital terrestrial only tuners/PLL"
	depends on DVB_CORE

config DVB_PLL
	tristate "Generic I2C PLL based tuners"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  This module drives a number of tuners based on PLL chips with a
	  common I2C interface. Say Y when you want to support these tuners.

config DVB_TUNER_DIB0070
	tristate "DiBcom DiB0070 silicon base-band tuner"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A driver for the silicon baseband tuner DiB0070 from DiBcom.
	  This device is only used inside a SiP called together with a
	  demodulator for now.

config DVB_TUNER_DIB0090
	tristate "DiBcom DiB0090 silicon base-band tuner"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A driver for the silicon baseband tuner DiB0090 from DiBcom.
	  This device is only used inside a SiP called together with a
	  demodulator for now.

comment "SEC control devices for DVB-S"
	depends on DVB_CORE

# SPDX-License-Identifier: GPL-2.0-only
config DVB_DRX39XYJ
	tristate "Micronas DRX-J demodulator"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  An ATSC 8VSB and QAM64/256 tuner module. Say Y when you want
	  to support this frontend.

config DVB_LNBH25
	tristate "LNBH25 SEC controller"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  An SEC control chip.
	  Say Y when you want to support this chip.

config DVB_LNBH29
	tristate "LNBH29 SEC controller"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  LNB power supply and control voltage
	  regulator chip with step-up converter
	  and I2C interface for STMicroelectronics LNBH29.
	  Say Y when you want to support this chip.

config DVB_LNBP21
	tristate "LNBP21/LNBH24 SEC controllers"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  An SEC control chips.

config DVB_LNBP22
	tristate "LNBP22 SEC controllers"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  LNB power supply and control voltage
	  regulator chip with step-up converter
	  and I2C interface.
	  Say Y when you want to support this chip.

config DVB_ISL6405
	tristate "ISL6405 SEC controller"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  An SEC control chip.

config DVB_ISL6421
	tristate "ISL6421 SEC controller"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  An SEC control chip.

config DVB_ISL6423
	tristate "ISL6423 SEC controller"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A SEC controller chip from Intersil

config DVB_A8293
	tristate "Allegro A8293"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT

config DVB_LGS8GL5
	tristate "Silicon Legend LGS-8GL5 demodulator (OFDM)"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A DMB-TH tuner module. Say Y when you want to support this frontend.

config DVB_LGS8GXX
	tristate "Legend Silicon LGS8913/LGS8GL5/LGS8GXX DMB-TH demodulator"
	depends on DVB_CORE && I2C
	select FW_LOADER
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A DMB-TH tuner module. Say Y when you want to support this frontend.

config DVB_ATBM8830
	tristate "AltoBeam ATBM8830/8831 DMB-TH demodulator"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A DMB-TH tuner module. Say Y when you want to support this frontend.

config DVB_TDA665x
	tristate "TDA665x tuner"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  Support for tuner modules based on Philips TDA6650/TDA6651 chips.
	  Say Y when you want to support this chip.

	  Currently supported tuners:
	  * Panasonic ENV57H12D5 (ET-50DT)

config DVB_IX2505V
	tristate "Sharp IX2505V silicon tuner"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A DVB-S tuner module. Say Y when you want to support this frontend.

config DVB_M88RS2000
	tristate "M88RS2000 DVB-S demodulator and tuner"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A DVB-S tuner module.
	  Say Y when you want to support this frontend.

config DVB_AF9033
	tristate "Afatech AF9033 DVB-T demodulator"
	depends on DVB_CORE && I2C
	select REGMAP_I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT

config DVB_HORUS3A
	tristate "Sony Horus3A tuner"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  Say Y when you want to support this frontend.

config DVB_ASCOT2E
	tristate "Sony Ascot2E tuner"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  Say Y when you want to support this frontend.

config DVB_HELENE
	tristate "Sony HELENE Sat/Ter tuner (CXD2858ER)"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  Say Y when you want to support this frontend.

comment "Common Interface (EN50221) controller drivers"
	depends on DVB_CORE

config DVB_CXD2099
	tristate "Sony CXD2099AR Common Interface driver"
	depends on DVB_CORE && I2C
	select REGMAP_I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A driver for the CI controller currently found mostly on
	  Digital Devices DuoFlex CI (single) addon modules.

	  Say Y when you want to support these devices.

config DVB_SP2
	tristate "CIMaX SP2"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  CIMaX SP2/SP2HF Common Interface module.

endmenu # Customise DVB Frontends

endif # MEDIA_DIGITAL_TV_SUPPORT

comment "Tools to develop new frontends"
	depends on MEDIA_TEST_SUPPORT

config DVB_DUMMY_FE
	tristate "Dummy frontend driver"
	depends on MEDIA_TEST_SUPPORT && DVB_CORE
	help
	  Dummy skeleton frontend driver.

endmenu

endif # MEDIA_SUPPORT
menuconfig AUDIO_SUPPORT
bool "Sound card support"
	help
	  Allow to select the Kconfig options found at Kernel's
	  sound/pci/Kconfig file.
	  Currently, only snd-bt87x is available on this backport tree.

if AUDIO_SUPPORT
# This is part of sound/pci/Kconfig
comment "ALSA sound"

# SND_BT87X disabled for insufficient kernel version
config SND_BT87X
	tristate "Bt87x Audio Capture"
	depends on SND && PCI
	select SND_PCM
	default n
	depends on VIDEO_KERNEL_VERSION
	---help---
	  WARNING! This driver needs at least kernel 9.255.255!  It may not
	  compile or work correctly on your kernel, which is too old.

	  If you want to record audio from TV cards based on
	  Brooktree Bt878/Bt879 chips, say Y here and read
	  <Documentation/sound/alsa/Bt87x.txt>.

	  To compile this driver as a module, choose M here: the module
	  will be called snd-bt87x.

config SND_BT87X_OVERCLOCK
	bool "Bt87x Audio overclocking"
	depends on SND_BT87X
	help
	  Say Y here if 448000 Hz isn't enough for you and you want to
	  record from the analog input with up to 1792000 Hz.

	  Higher sample rates won't hurt your hardware, but audio
	  quality may suffer.

config SND_FM801_TEA575X
	tristate "ForteMedia FM801 TEA5757 tuner"
	depends on VIDEO_V4L1 && SND_FM801

	help
	  Say Y here to include support for soundcards based on the ForteMedia
	  FM801 chip with a TEA5757 tuner connected to GPIO1-3 pins (Media
	  Forte SF256-PCS-02) into the snd-fm801 driver.

	  This will enable support for the old V4L1 API.
endif
config FRAME_VECTOR
	tristate
#
# Misc strange devices
#
menuconfig MISC_DEVICES
	bool "Misc devices"
	---help---
	  Say Y here to get to see options for device drivers from various
	  different categories. This option alone does not add any kernel code.

	  If you say N, all options in this submenu will be skipped and disabled.

if MISC_DEVICES

# SPDX-License-Identifier: GPL-2.0-only
comment "Altera FPGA firmware download module (requires I2C)"
	depends on !I2C

config ALTERA_STAPL
	tristate "Altera FPGA firmware download module"
	depends on I2C
	help
	  An Altera FPGA module. Say Y when you want to support this tool.

endif # MISC_DEVICES
menuconfig STAGING
	bool "Staging drivers"
	default n
	---help---
	  This option allows you to select a number of drivers that are
	  not of the "normal" Linux kernel quality level.  These drivers
	  are placed here in order to get a wider audience for use of
	  them.  Please note that these drivers are under heavy
	  development, may or may not work, and may contain userspace
	  interfaces that most likely will be changed in the near
	  future.

	  Using any of these drivers will taint your kernel which might
	  affect support options from both the community, and various
	  commercial support orginizations.

	  If you wish to work on these drivers, to help improve them, or
	  to report problems you have with them, please see the
	  driver_name.README file in the drivers/staging/ directory to
	  see what needs to be worked on, and who to contact.

	  If in doubt, say N here.

if STAGING
menu "Media devices in staging"

config STAGING_BROKEN
	bool "Enable drivers that are known to not compile"
	default n
	---help---
	  Say N here, except if you will be fixing the drivers
	  compilation.

# SPDX-License-Identifier: GPL-2.0
menuconfig STAGING_MEDIA
	bool "Media staging drivers"
	default n
	help
	  This option allows you to select a number of media drivers that
	  don't have the "normal" Linux kernel quality level.
	  Most of them don't follow properly the V4L, DVB and/or RC API's,
	  so, they won't likely work fine with the existing applications.
	  That also means that, once fixed, their API's will change to match
	  the existing ones.

	  If you wish to work on these drivers, to help improve them, or
	  to report problems you have with them, please use the
	  linux-media@vger.kernel.org mailing list.

	  If in doubt, say N here.


if STAGING_MEDIA && MEDIA_SUPPORT

# Please keep them in alphabetic order
# SPDX-License-Identifier: GPL-2.0
config VIDEO_ALLEGRO_DVT
	tristate "Allegro DVT Video IP Core"
	depends on VIDEO_DEV && VIDEO_V4L2
	depends on ARCH_ZYNQMP || COMPILE_TEST
	select V4L2_MEM2MEM_DEV
	select VIDEOBUF2_DMA_CONTIG
	select REGMAP
	select REGMAP_MMIO
	help
	  Support for the encoder video IP core by Allegro DVT. This core is
	  found for example on the Xilinx ZynqMP SoC in the EV family and is
	  called VCU in the reference manual.

	  To compile this driver as a module, choose M here: the module
	  will be called allegro.

# SPDX-License-Identifier: GPL-2.0
# INTEL_ATOMISP disabled for insufficient kernel version
menuconfig INTEL_ATOMISP
	bool "Enable support to Intel Atom ISP camera drivers"
	depends on X86 && EFI && PCI && ACPI
	select IOSF_MBI
	select MEDIA_CONTROLLER
	select COMMON_CLK
	default n
	depends on VIDEO_KERNEL_VERSION
	---help---
	  WARNING! This driver needs at least kernel 9.255.255!  It may not
	  compile or work correctly on your kernel, which is too old.

	  Enable support for the Intel ISP2 camera interfaces and MIPI
	  sensor drivers.

config VIDEO_ATOMISP
	tristate "Intel Atom Image Signal Processor Driver"
	depends on VIDEO_V4L2 && INTEL_ATOMISP
	depends on PMIC_OPREGION
	select IOSF_MBI
	select VIDEOBUF_VMALLOC
	help
	  Say Y here if your platform supports Intel Atom SoC
	  camera imaging subsystem.
	  To compile this driver as a module, choose M here: the
	  module will be called atomisp

config VIDEO_ATOMISP_ISP2401
	bool "VIDEO_ATOMISP_ISP2401"
	depends on VIDEO_ATOMISP
	help
	  Enable support for Atom ISP2401-based boards.

	  Select this option for  Anniedale (Merrifield+ / Moorefield)
	  and Cherrytrail SoCs.

	  Disabling it enables support for Atom ISP2400-based boards
	  (Merrifield and Baytrail SoCs).

if VIDEO_ATOMISP
# SPDX-License-Identifier: GPL-2.0
#
# Kconfig for sensor drivers
#

# SPDX-License-Identifier: GPL-2.0
config VIDEO_ATOMISP_OV5693
       tristate "Omnivision ov5693 sensor support"
	depends on ACPI
       depends on I2C && VIDEO_V4L2
	help
	 This is a Video4Linux2 sensor-level driver for the Micron
	 ov5693 5 Mpixel camera.

	 ov5693 is video camera sensor.

	 It currently only works with the atomisp driver.

config VIDEO_ATOMISP_OV2722
       tristate "OVT ov2722 sensor support"
	depends on ACPI
       depends on I2C && VIDEO_V4L2
	help
	 This is a Video4Linux2 sensor-level driver for the OVT
	 OV2722 raw camera.

	 OVT is a 2M raw sensor.

	 It currently only works with the atomisp driver.

config VIDEO_ATOMISP_GC2235
       tristate "Galaxy gc2235 sensor support"
	depends on ACPI
       depends on I2C && VIDEO_V4L2
	help
	 This is a Video4Linux2 sensor-level driver for the OVT
	 GC2235 raw camera.

	 GC2235 is a 2M raw sensor.

	 It currently only works with the atomisp driver.

config VIDEO_ATOMISP_MSRLIST_HELPER
       tristate "Helper library to load, parse and apply large register lists."
       depends on I2C
	help
	 This is a helper library to be used from a sensor driver to load, parse
	 and apply large register lists.

	 To compile this driver as a module, choose M here: the
	 module will be called libmsrlisthelper.

config VIDEO_ATOMISP_MT9M114
       tristate "Aptina mt9m114 sensor support"
	depends on ACPI
       depends on I2C && VIDEO_V4L2
	help
	 This is a Video4Linux2 sensor-level driver for the Micron
	 mt9m114 1.3 Mpixel camera.

	 mt9m114 is video camera sensor.

	 It currently only works with the atomisp driver.

config VIDEO_ATOMISP_GC0310
	tristate "GC0310 sensor support"
	depends on ACPI
	depends on I2C && VIDEO_V4L2
	help
	  This is a Video4Linux2 sensor-level driver for the Galaxycore
	  GC0310 0.3MP sensor.

config VIDEO_ATOMISP_OV2680
       tristate "Omnivision OV2680 sensor support"
	depends on ACPI
       depends on I2C && VIDEO_V4L2
	help
	 This is a Video4Linux2 sensor-level driver for the Omnivision
	 OV2680 raw camera.

	 ov2680 is a 2M raw sensor.

	 It currently only works with the atomisp driver.

#
# Kconfig for flash drivers
#

config VIDEO_ATOMISP_LM3554
       tristate "LM3554 flash light driver"
	depends on ACPI
       depends on VIDEO_V4L2 && I2C
	help
	 This is a Video4Linux2 sub-dev driver for the LM3554
	 flash light driver.

	 To compile this driver as a module, choose M here: the
	 module will be called lm3554
endif

# SPDX-License-Identifier: GPL-2.0
# VIDEO_HANTRO disabled for insufficient kernel version
config VIDEO_HANTRO
	tristate "Hantro VPU driver"
	depends on ARCH_MXC || ARCH_ROCKCHIP || COMPILE_TEST
	depends on VIDEO_DEV && VIDEO_V4L2
	select MEDIA_CONTROLLER
	select MEDIA_CONTROLLER_REQUEST_API
	select VIDEOBUF2_DMA_CONTIG
	select VIDEOBUF2_VMALLOC
	select V4L2_MEM2MEM_DEV
	select V4L2_H264
	default n
	depends on VIDEO_KERNEL_VERSION
	---help---
	  WARNING! This driver needs at least kernel 9.255.255!  It may not
	  compile or work correctly on your kernel, which is too old.

	  Support for the Hantro IP based Video Processing Units present on
	  Rockchip and NXP i.MX8M SoCs, which accelerate video and image
	  encoding and decoding.
	  To compile this driver as a module, choose M here: the module
	  will be called hantro-vpu.

config VIDEO_HANTRO_IMX8M
	bool "Hantro VPU i.MX8M support"
	depends on VIDEO_HANTRO
	depends on ARCH_MXC || COMPILE_TEST
	default y
	help
	  Enable support for i.MX8M SoCs.

config VIDEO_HANTRO_ROCKCHIP
	bool "Hantro VPU Rockchip support"
	depends on VIDEO_HANTRO
	depends on ARCH_ROCKCHIP || COMPILE_TEST
	default y
	help
	  Enable support for RK3288, RK3328, and RK3399 SoCs.

# SPDX-License-Identifier: GPL-2.0
config VIDEO_IMX_MEDIA
	tristate "i.MX5/6 V4L2 media core driver"
	depends on ARCH_MXC || COMPILE_TEST
	depends on VIDEO_V4L2 && IMX_IPUV3_CORE
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	depends on HAS_DMA
	select VIDEOBUF2_DMA_CONTIG
	select V4L2_FWNODE
	select V4L2_MEM2MEM_DEV
	help
	  Say yes here to enable support for video4linux media controller
	  driver for the i.MX5/6 SOC.

if VIDEO_IMX_MEDIA
menu "i.MX5/6/7 Media Sub devices"

config VIDEO_IMX_CSI
	tristate "i.MX5/6 Camera Sensor Interface driver"
	depends on VIDEO_IMX_MEDIA && VIDEO_DEV && I2C
	default y
	help
	  A video4linux camera sensor interface driver for i.MX5/6.

config VIDEO_IMX7_CSI
	tristate "i.MX6UL/L / i.MX7 Camera Sensor Interface driver"
	depends on VIDEO_IMX_MEDIA && VIDEO_DEV && I2C
	default y
	help
	  Enable support for video4linux camera sensor interface driver for
	  i.MX6UL/L or i.MX7.
endmenu
endif

# SPDX-License-Identifier: GPL-2.0

config VIDEO_MESON_VDEC
	tristate "Amlogic video decoder driver"
	depends on VIDEO_DEV && VIDEO_V4L2 && HAS_DMA
	depends on ARCH_MESON || COMPILE_TEST
	select VIDEOBUF2_DMA_CONTIG
	select V4L2_MEM2MEM_DEV
	select MESON_CANVAS
	help
	Support for the video decoder found in gxbb/gxl/gxm chips.

# SPDX-License-Identifier: GPL-2.0

config VIDEO_OMAP4
	tristate "OMAP 4 Camera support"
	depends on VIDEO_V4L2  && I2C
	depends on ARCH_OMAP4 || COMPILE_TEST
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select MFD_SYSCON
	select VIDEOBUF2_DMA_CONTIG
	help
	  Driver for an OMAP 4 ISS controller.

# SPDX-License-Identifier: GPL-2.0
# VIDEO_ROCKCHIP_VDEC disabled for insufficient kernel version
config VIDEO_ROCKCHIP_VDEC
	tristate "Rockchip Video Decoder driver"
	depends on ARCH_ROCKCHIP || COMPILE_TEST
	depends on VIDEO_DEV && VIDEO_V4L2
	select MEDIA_CONTROLLER
	select MEDIA_CONTROLLER_REQUEST_API
	select VIDEOBUF2_DMA_CONTIG
	select VIDEOBUF2_VMALLOC
	select V4L2_MEM2MEM_DEV
	select V4L2_H264
	default n
	depends on VIDEO_KERNEL_VERSION
	---help---
	  WARNING! This driver needs at least kernel 9.255.255!  It may not
	  compile or work correctly on your kernel, which is too old.

	  Support for the Rockchip Video Decoder IP present on Rockchip SoCs,
	  which accelerates video decoding.
	  To compile this driver as a module, choose M here: the module
	  will be called rockchip-vdec.

# SPDX-License-Identifier: GPL-2.0
config VIDEO_SUNXI
	bool "Allwinner sunXi family Video Devices"
	depends on ARCH_SUNXI || COMPILE_TEST
	help
	  If you have an Allwinner SoC based on the sunXi family, say Y.

	  Note that this option doesn't include new drivers in the
	  kernel: saying N will just cause Kconfig to skip all the
	  questions about Allwinner media devices.

if VIDEO_SUNXI

# SPDX-License-Identifier: GPL-2.0
config VIDEO_SUNXI_CEDRUS
	tristate "Allwinner Cedrus VPU driver"
	depends on VIDEO_DEV && VIDEO_V4L2
	depends on HAS_DMA
	depends on OF
	select MEDIA_CONTROLLER
	select MEDIA_CONTROLLER_REQUEST_API
	select SUNXI_SRAM
	select VIDEOBUF2_DMA_CONTIG
	select V4L2_MEM2MEM_DEV
	help
	  Support for the VPU found in Allwinner SoCs, also known as the Cedar
	  video engine.

	  To compile this driver as a module, choose M here: the module
	  will be called sunxi-cedrus.

endif

# SPDX-License-Identifier: GPL-2.0
config TEGRA_VDE
	tristate "NVIDIA Tegra Video Decoder Engine driver"
	depends on ARCH_TEGRA || COMPILE_TEST
	select DMA_SHARED_BUFFER
	select IOMMU_IOVA
	select SRAM
	help
	    Say Y here to enable support for the NVIDIA Tegra video decoder
	    driver.

# SPDX-License-Identifier: GPL-2.0-only
config VIDEO_TEGRA
	tristate "NVIDIA Tegra VI driver"
	depends on TEGRA_HOST1X
	depends on VIDEO_V4L2
	select MEDIA_CONTROLLER
	select VIDEOBUF2_DMA_CONTIG
	help
	  Choose this option if you have an NVIDIA Tegra SoC.

	  To compile this driver as a module, choose M here: the module
	  will be called tegra-video.

# SPDX-License-Identifier: GPL-2.0
# VIDEO_IPU3_IMGU disabled for insufficient kernel version
config VIDEO_IPU3_IMGU
	tristate "Intel ipu3-imgu driver"
	depends on PCI && VIDEO_V4L2
	depends on X86
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select IOMMU_IOVA
	select VIDEOBUF2_DMA_SG
	default n
	depends on VIDEO_KERNEL_VERSION
	---help---
	  WARNING! This driver needs at least kernel 9.255.255!  It may not
	  compile or work correctly on your kernel, which is too old.

	  This is the Video4Linux2 driver for Intel IPU3 image processing unit,
	  found in Intel Skylake and Kaby Lake SoCs and used for processing
	  images and video.

	  Say Y or M here if you have a Skylake/Kaby Lake SoC with a MIPI
	  camera. The module will be called ipu3-imgu.

# SPDX-License-Identifier: GPL-2.0
config SOC_CAMERA
	tristate "SoC camera support"
	depends on VIDEO_V4L2 && HAS_DMA && I2C && BROKEN
	select VIDEOBUF2_CORE
	help
	  SoC Camera is a common API to several cameras, not connecting
	  over a bus like PCI or USB. For example some i2c camera connected
	  directly to the data bus of an SoC.

comment "soc_camera sensor drivers"

config SOC_CAMERA_MT9M111
	tristate "legacy soc_camera mt9m111, mt9m112 and mt9m131 support"
	depends on SOC_CAMERA && I2C
	select VIDEO_MT9M111
	help
	  This driver supports MT9M111, MT9M112 and MT9M131 cameras from
	  Micron/Aptina.
	  This is the legacy configuration which shouldn't be used anymore,
	  while VIDEO_MT9M111 should be used instead.

config SOC_CAMERA_MT9V022
	tristate "mt9v022 and mt9v024 support"
	depends on SOC_CAMERA && I2C
	help
	  This driver supports MT9V022 cameras from Micron

config SOC_CAMERA_OV5642
	tristate "ov5642 camera support"
	depends on SOC_CAMERA && I2C
	help
	  This is a V4L2 camera driver for the OmniVision OV5642 sensor

config SOC_CAMERA_OV9740
	tristate "ov9740 camera support"
	depends on SOC_CAMERA && I2C
	help
	  This is a ov9740 camera driver

config SOC_CAMERA_IMX074
	tristate "imx074 support (DEPRECATED)"
	depends on SOC_CAMERA && I2C
	help
	  This driver supports IMX074 cameras from Sony

config SOC_CAMERA_MT9T031
	tristate "mt9t031 support (DEPRECATED)"
	depends on SOC_CAMERA && I2C
	help
	  This driver supports MT9T031 cameras from Micron.

# SPDX-License-Identifier: GPL-2.0-only

config PHY_ROCKCHIP_DPHY_RX0
	tristate "Rockchip MIPI Synopsys DPHY RX0 driver"
	depends on ARCH_ROCKCHIP || COMPILE_TEST
	select GENERIC_PHY_MIPI_DPHY
	select GENERIC_PHY
	help
	  Enable this to support the Rockchip MIPI Synopsys DPHY RX0
	  associated to the Rockchip ISP module present in RK3399 SoCs.

	  To compile this driver as a module, choose M here: the module
	  will be called phy-rockchip-dphy-rx0.

# SPDX-License-Identifier: GPL-2.0-only

config VIDEO_ROCKCHIP_ISP1
	tristate "Rockchip Image Signal Processing v1 Unit driver"
	depends on VIDEO_V4L2 && OF
	depends on ARCH_ROCKCHIP || COMPILE_TEST
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select VIDEOBUF2_DMA_CONTIG
	select VIDEOBUF2_VMALLOC
	select V4L2_FWNODE
	select GENERIC_PHY_MIPI_DPHY
	default n
	help
	  Enable this to support the Image Signal Processing (ISP) module
	  present in RK3399 SoCs.

	  To compile this driver as a module, choose M here: the module
	  will be called rockchip-isp1.

if MEDIA_ANALOG_TV_SUPPORT
# SPDX-License-Identifier: GPL-2.0-only
config VIDEO_USBVISION
	tristate "USB video devices based on Nogatech NT1003/1004/1005 (Deprecated)"
	depends on MEDIA_USB_SUPPORT && I2C && VIDEO_V4L2 && USB
	select VIDEO_TUNER
	select VIDEO_SAA711X if MEDIA_SUBDRV_AUTOSELECT
	help
	  There are more than 50 different USB video devices based on
	  NT1003/1004/1005 USB Bridges. This driver enables using those
	  devices.

	  This driver is deprecated and scheduled for removal by the
	  end of 2020. See the TODO file in drivers/staging/media/usbvision
	  for a list of actions that have to be done in order to prevent
	  removal of this driver.

	  To compile this driver as a module, choose M here: the
	  module will be called usbvision.
endif

endif
# Currently, there are no broken staging drivers with Kernel 2.6.31
# if STAGING_BROKEN
# endif

endmenu

endif # STAGING
