| # SPDX-License-Identifier: GPL-2.0-only |
| # |
| # Multimedia device configuration |
| # |
| |
| # |
| # NOTE: CEC and Remote Controller support should not depend on MEDIA_SUPPORT |
| # |
| source "drivers/media/rc/Kconfig" |
| source "drivers/media/cec/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 |
| |
| config MEDIA_SUPPORT_FILTER |
| bool "Filter media drivers" |
| default y if !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 "Cameras and video grabbers" |
| 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 "Analog TV" |
| 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 "Digital TV" |
| 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 "AM/FM radio receivers/transmitters" |
| 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 "Software defined radio" |
| 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 "Platform-specific devices" |
| 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 to see such devices. |
| |
| config MEDIA_TEST_SUPPORT |
| bool "Test drivers" |
| default y if !MEDIA_SUPPORT_FILTER |
| help |
| These drivers should not be used on production kernels, but |
| can be useful on debug ones. This option enables several dummy drivers |
| that simulate real hardware. Very useful to test userspace |
| applications and to validate if the subsystem core 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 |
| depends on (I2C || I2C=n) |
| select RATIONAL |
| select VIDEOBUF2_V4L2 if VIDEOBUF2_CORE |
| 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 "DVB Core" |
| 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 |
| |
| source "drivers/media/v4l2-core/Kconfig" |
| endmenu |
| |
| menu "Media controller options" |
| visible if MEDIA_CONTROLLER |
| |
| source "drivers/media/mc/Kconfig" |
| endmenu |
| |
| menu "Digital TV options" |
| visible if DVB_CORE |
| |
| source "drivers/media/dvb-core/Kconfig" |
| endmenu |
| |
| menu "Media drivers" |
| |
| comment "Drivers filtered as selected at 'Filter media drivers'" |
| depends on MEDIA_SUPPORT_FILTER |
| |
| 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/mmc/Kconfig" |
| endif |
| |
| if MEDIA_TEST_SUPPORT |
| source "drivers/media/test-drivers/Kconfig" |
| endif |
| |
| source "drivers/media/firewire/Kconfig" |
| |
| # Common driver options |
| source "drivers/media/common/Kconfig" |
| |
| 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 |
| |
| source "drivers/media/i2c/Kconfig" |
| source "drivers/media/spi/Kconfig" |
| source "drivers/media/tuners/Kconfig" |
| source "drivers/media/dvb-frontends/Kconfig" |
| |
| endmenu |
| |
| endif # MEDIA_SUPPORT |