| # SPDX-License-Identifier: GPL-2.0-only |
| # |
| # Multimedia device configuration |
| # |
| |
| config CEC_CORE |
| tristate |
| |
| config CEC_NOTIFIER |
| bool |
| |
| config CEC_PIN |
| bool |
| |
| source "drivers/media/rc/Kconfig" |
| |
| 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 |
| |
| comment "Multimedia core support" |
| |
| # |
| # Multimedia support - automatically enable V4L2 and DVB core |
| # |
| config MEDIA_CAMERA_SUPPORT |
| bool "Cameras/video grabbers support" |
| 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 "Analog TV support" |
| 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 "Digital TV support" |
| 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 "AM/FM radio receivers/transmitters support" |
| 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 "Software defined radio support" |
| help |
| Enable software defined radio support. |
| |
| Say Y when you have a software defined radio device. |
| |
| config MEDIA_CEC_SUPPORT |
| bool "HDMI CEC support" |
| 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. |
| |
| config MEDIA_PLATFORM_SUPPORT |
| bool "Platform-specific devices support" |
| 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 "Test drivers support" |
| 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. |
| |
| source "drivers/media/cec/Kconfig" |
| |
| source "drivers/media/mc/Kconfig" |
| |
| # |
| # Video4Linux support |
| # Only enables if one of the V4L2 types (ATV, webcam, radio) is selected |
| # |
| |
| config VIDEO_DEV |
| tristate |
| depends on MEDIA_SUPPORT |
| default MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_RADIO_SUPPORT || MEDIA_SDR_SUPPORT || MEDIA_PLATFORM_SUPPORT |
| |
| 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. |
| |
| source "drivers/media/v4l2-core/Kconfig" |
| |
| # |
| # DVB Core |
| # Only enables if one of DTV is selected |
| # |
| |
| config DVB_CORE |
| tristate |
| depends on MEDIA_SUPPORT |
| depends on MEDIA_DIGITAL_TV_SUPPORT |
| depends on (I2C || I2C=n) |
| default y |
| select CRC32 |
| |
| 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. |
| |
| source "drivers/media/dvb-core/Kconfig" |
| |
| comment "Media drivers" |
| |
| source "drivers/media/usb/Kconfig" |
| source "drivers/media/pci/Kconfig" |
| source "drivers/media/radio/Kconfig" |
| |
| if MEDIA_PLATFORM_SUPPORT |
| source "drivers/media/platform/Kconfig" |
| source "drivers/media/test_drivers/Kconfig" |
| source "drivers/media/mmc/Kconfig" |
| endif |
| |
| source "drivers/media/firewire/Kconfig" |
| |
| # Common driver options |
| source "drivers/media/common/Kconfig" |
| |
| comment "Media ancillary drivers (tuners, sensors, i2c, spi, frontends)" |
| |
| # |
| # Ancillary drivers (tuners, i2c, spi, frontends) |
| # |
| |
| config MEDIA_SUBDRV_AUTOSELECT |
| bool "Autoselect ancillary drivers (tuners, sensors, i2c, spi, frontends)" |
| depends on MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_CAMERA_SUPPORT || MEDIA_SDR_SUPPORT |
| depends on HAS_IOMEM |
| select I2C |
| select I2C_MUX |
| default y if !EMBEDDED |
| 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. |
| |
| config MEDIA_HIDE_ANCILLARY_SUBDRV |
| bool |
| depends on MEDIA_SUBDRV_AUTOSELECT && !COMPILE_TEST && !EXPERT |
| default y |
| |
| config MEDIA_ATTACH |
| bool |
| depends on MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_RADIO_SUPPORT |
| depends on MODULES |
| default MODULES |
| |
| source "drivers/media/i2c/Kconfig" |
| source "drivers/media/spi/Kconfig" |
| source "drivers/media/tuners/Kconfig" |
| source "drivers/media/dvb-frontends/Kconfig" |
| |
| endif # MEDIA_SUPPORT |