| # 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" | |
| 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 "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 | |
| tristate "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 so 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 | |
| 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 | |
| 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 | |
| source "drivers/media/usb/Kconfig" | |
| source "drivers/media/pci/Kconfig" | |
| source "drivers/media/radio/Kconfig" | |
| # Common driver options | |
| source "drivers/media/common/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" | |
| 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 |