18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 28c2ecf20Sopenharmony_ci# 38c2ecf20Sopenharmony_ci# Multimedia device configuration 48c2ecf20Sopenharmony_ci# 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_ci# 78c2ecf20Sopenharmony_ci# NOTE: CEC and Remote Controller support should not depend on MEDIA_SUPPORT 88c2ecf20Sopenharmony_ci# 98c2ecf20Sopenharmony_cisource "drivers/media/rc/Kconfig" 108c2ecf20Sopenharmony_cisource "drivers/media/cec/Kconfig" 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_cimenuconfig MEDIA_SUPPORT 138c2ecf20Sopenharmony_ci tristate "Multimedia support" 148c2ecf20Sopenharmony_ci depends on HAS_IOMEM 158c2ecf20Sopenharmony_ci help 168c2ecf20Sopenharmony_ci If you want to use media devices, including Webcams, Video grabber 178c2ecf20Sopenharmony_ci devices and/or TV devices, V4L2 codecs, etc, enable this option 188c2ecf20Sopenharmony_ci and other options below. 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_ci Additional info and docs are available on the web at 218c2ecf20Sopenharmony_ci <https://linuxtv.org> 228c2ecf20Sopenharmony_ci 238c2ecf20Sopenharmony_ciif MEDIA_SUPPORT 248c2ecf20Sopenharmony_ci 258c2ecf20Sopenharmony_ciconfig MEDIA_SUPPORT_FILTER 268c2ecf20Sopenharmony_ci bool "Filter media drivers" 278c2ecf20Sopenharmony_ci depends on MEDIA_SUPPORT 288c2ecf20Sopenharmony_ci default y if !EMBEDDED && !EXPERT 298c2ecf20Sopenharmony_ci help 308c2ecf20Sopenharmony_ci Configuring the media subsystem can be complex, as there are 318c2ecf20Sopenharmony_ci hundreds of drivers and other config options. 328c2ecf20Sopenharmony_ci 338c2ecf20Sopenharmony_ci This menu offers option that will help the Kernel's config 348c2ecf20Sopenharmony_ci system to hide drivers that are out of the scope of the 358c2ecf20Sopenharmony_ci user needs, and disabling core support for unused APIs. 368c2ecf20Sopenharmony_ci 378c2ecf20Sopenharmony_ci If not selected, all non-optional media core functionality 388c2ecf20Sopenharmony_ci needed to support media drivers will be enabled. Also, all 398c2ecf20Sopenharmony_ci media device drivers should be shown. 408c2ecf20Sopenharmony_ci 418c2ecf20Sopenharmony_ciconfig MEDIA_SUBDRV_AUTOSELECT 428c2ecf20Sopenharmony_ci bool "Autoselect ancillary drivers (tuners, sensors, i2c, spi, frontends)" 438c2ecf20Sopenharmony_ci depends on HAS_IOMEM 448c2ecf20Sopenharmony_ci select I2C 458c2ecf20Sopenharmony_ci select I2C_MUX 468c2ecf20Sopenharmony_ci default y if MEDIA_SUPPORT_FILTER 478c2ecf20Sopenharmony_ci help 488c2ecf20Sopenharmony_ci By default, a media driver auto-selects all possible ancillary 498c2ecf20Sopenharmony_ci devices such as tuners, sensors, video encoders/decoders and 508c2ecf20Sopenharmony_ci frontends, that are used by any of the supported devices. 518c2ecf20Sopenharmony_ci 528c2ecf20Sopenharmony_ci This is generally the right thing to do, except when there 538c2ecf20Sopenharmony_ci are strict constraints with regards to the kernel size, 548c2ecf20Sopenharmony_ci like on embedded systems. 558c2ecf20Sopenharmony_ci 568c2ecf20Sopenharmony_ci Use this option with care, as deselecting ancillary drivers which 578c2ecf20Sopenharmony_ci are, in fact, necessary will result in the lack of the needed 588c2ecf20Sopenharmony_ci functionality for your device (it may not tune or may not have 598c2ecf20Sopenharmony_ci the needed demodulators). 608c2ecf20Sopenharmony_ci 618c2ecf20Sopenharmony_ci If unsure say Y. 628c2ecf20Sopenharmony_ci 638c2ecf20Sopenharmony_cimenu "Media device types" 648c2ecf20Sopenharmony_ci 658c2ecf20Sopenharmony_ci# 668c2ecf20Sopenharmony_ci# Multimedia support - automatically enable V4L2 and DVB core 678c2ecf20Sopenharmony_ci# 688c2ecf20Sopenharmony_ciconfig MEDIA_CAMERA_SUPPORT 698c2ecf20Sopenharmony_ci bool 708c2ecf20Sopenharmony_ci prompt "Cameras and video grabbers" if MEDIA_SUPPORT_FILTER 718c2ecf20Sopenharmony_ci default y if !MEDIA_SUPPORT_FILTER 728c2ecf20Sopenharmony_ci help 738c2ecf20Sopenharmony_ci Enable support for webcams and video grabbers. 748c2ecf20Sopenharmony_ci 758c2ecf20Sopenharmony_ci Say Y when you have a webcam or a video capture grabber board. 768c2ecf20Sopenharmony_ci 778c2ecf20Sopenharmony_ciconfig MEDIA_ANALOG_TV_SUPPORT 788c2ecf20Sopenharmony_ci bool 798c2ecf20Sopenharmony_ci prompt "Analog TV" if MEDIA_SUPPORT_FILTER 808c2ecf20Sopenharmony_ci default y if !MEDIA_SUPPORT_FILTER 818c2ecf20Sopenharmony_ci help 828c2ecf20Sopenharmony_ci Enable analog TV support. 838c2ecf20Sopenharmony_ci 848c2ecf20Sopenharmony_ci Say Y when you have a TV board with analog support or with a 858c2ecf20Sopenharmony_ci hybrid analog/digital TV chipset. 868c2ecf20Sopenharmony_ci 878c2ecf20Sopenharmony_ci Note: There are several DVB cards that are based on chips that 888c2ecf20Sopenharmony_ci support both analog and digital TV. Disabling this option 898c2ecf20Sopenharmony_ci will disable support for them. 908c2ecf20Sopenharmony_ci 918c2ecf20Sopenharmony_ciconfig MEDIA_DIGITAL_TV_SUPPORT 928c2ecf20Sopenharmony_ci bool 938c2ecf20Sopenharmony_ci prompt "Digital TV" if MEDIA_SUPPORT_FILTER 948c2ecf20Sopenharmony_ci default y if !MEDIA_SUPPORT_FILTER 958c2ecf20Sopenharmony_ci help 968c2ecf20Sopenharmony_ci Enable digital TV support. 978c2ecf20Sopenharmony_ci 988c2ecf20Sopenharmony_ci Say Y when you have a board with digital support or a board with 998c2ecf20Sopenharmony_ci hybrid digital TV and analog TV. 1008c2ecf20Sopenharmony_ci 1018c2ecf20Sopenharmony_ciconfig MEDIA_RADIO_SUPPORT 1028c2ecf20Sopenharmony_ci bool 1038c2ecf20Sopenharmony_ci prompt "AM/FM radio receivers/transmitters" if MEDIA_SUPPORT_FILTER 1048c2ecf20Sopenharmony_ci default y if !MEDIA_SUPPORT_FILTER 1058c2ecf20Sopenharmony_ci help 1068c2ecf20Sopenharmony_ci Enable AM/FM radio support. 1078c2ecf20Sopenharmony_ci 1088c2ecf20Sopenharmony_ci Additional info and docs are available on the web at 1098c2ecf20Sopenharmony_ci <https://linuxtv.org> 1108c2ecf20Sopenharmony_ci 1118c2ecf20Sopenharmony_ci Say Y when you have a board with radio support. 1128c2ecf20Sopenharmony_ci 1138c2ecf20Sopenharmony_ci Note: There are several TV cards that are based on chips that 1148c2ecf20Sopenharmony_ci support radio reception. Disabling this option will 1158c2ecf20Sopenharmony_ci disable support for them. 1168c2ecf20Sopenharmony_ci 1178c2ecf20Sopenharmony_ciconfig MEDIA_SDR_SUPPORT 1188c2ecf20Sopenharmony_ci bool 1198c2ecf20Sopenharmony_ci prompt "Software defined radio" if MEDIA_SUPPORT_FILTER 1208c2ecf20Sopenharmony_ci default y if !MEDIA_SUPPORT_FILTER 1218c2ecf20Sopenharmony_ci help 1228c2ecf20Sopenharmony_ci Enable software defined radio support. 1238c2ecf20Sopenharmony_ci 1248c2ecf20Sopenharmony_ci Say Y when you have a software defined radio device. 1258c2ecf20Sopenharmony_ci 1268c2ecf20Sopenharmony_ciconfig MEDIA_PLATFORM_SUPPORT 1278c2ecf20Sopenharmony_ci bool 1288c2ecf20Sopenharmony_ci prompt "Platform-specific devices" if MEDIA_SUPPORT_FILTER 1298c2ecf20Sopenharmony_ci default y if !MEDIA_SUPPORT_FILTER 1308c2ecf20Sopenharmony_ci help 1318c2ecf20Sopenharmony_ci Enable support for complex cameras, codecs, and other hardware 1328c2ecf20Sopenharmony_ci that are integrated at the CPU, GPU or on Image Signalling Processor 1338c2ecf20Sopenharmony_ci and don't use PCI, USB or Firewire buses. 1348c2ecf20Sopenharmony_ci 1358c2ecf20Sopenharmony_ci This is found on Embedded hardware (SoC), on V4L2 codecs and 1368c2ecf20Sopenharmony_ci on some GPU and newer CPU chipsets. 1378c2ecf20Sopenharmony_ci 1388c2ecf20Sopenharmony_ci Say Y when you want to be able so see such devices. 1398c2ecf20Sopenharmony_ci 1408c2ecf20Sopenharmony_ciconfig MEDIA_TEST_SUPPORT 1418c2ecf20Sopenharmony_ci bool 1428c2ecf20Sopenharmony_ci prompt "Test drivers" if MEDIA_SUPPORT_FILTER 1438c2ecf20Sopenharmony_ci default y if !MEDIA_SUPPORT_FILTER 1448c2ecf20Sopenharmony_ci help 1458c2ecf20Sopenharmony_ci These drivers should not be used on production kernels, but 1468c2ecf20Sopenharmony_ci can be useful on debug ones. This option enables several dummy drivers 1478c2ecf20Sopenharmony_ci that simulate real hardware. Very useful to test userspace 1488c2ecf20Sopenharmony_ci applications and to validate if the subsystem core doesn't 1498c2ecf20Sopenharmony_ci have regressions. 1508c2ecf20Sopenharmony_ci 1518c2ecf20Sopenharmony_ci Say Y if you want to use some virtual test driver. 1528c2ecf20Sopenharmony_ci 1538c2ecf20Sopenharmony_ci In case of doubts, say N. 1548c2ecf20Sopenharmony_ci Say Y when you have a software defined radio device. 1558c2ecf20Sopenharmony_ciendmenu # media device types 1568c2ecf20Sopenharmony_ci 1578c2ecf20Sopenharmony_ci 1588c2ecf20Sopenharmony_cimenu "Media core support" 1598c2ecf20Sopenharmony_ci visible if !MEDIA_SUPPORT_FILTER 1608c2ecf20Sopenharmony_ci 1618c2ecf20Sopenharmony_ciconfig VIDEO_DEV 1628c2ecf20Sopenharmony_ci tristate "Video4Linux core" 1638c2ecf20Sopenharmony_ci default MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_RADIO_SUPPORT || MEDIA_SDR_SUPPORT || MEDIA_PLATFORM_SUPPORT || MEDIA_TEST_SUPPORT 1648c2ecf20Sopenharmony_ci help 1658c2ecf20Sopenharmony_ci Enables the V4L2 API, used by cameras, analog TV, video grabbers, 1668c2ecf20Sopenharmony_ci radio devices and by some input devices. 1678c2ecf20Sopenharmony_ci 1688c2ecf20Sopenharmony_ciconfig MEDIA_CONTROLLER 1698c2ecf20Sopenharmony_ci bool "Media Controller API" 1708c2ecf20Sopenharmony_ci default MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_PLATFORM_SUPPORT 1718c2ecf20Sopenharmony_ci help 1728c2ecf20Sopenharmony_ci Enable the media controller API used to query media devices internal 1738c2ecf20Sopenharmony_ci topology and configure it dynamically. 1748c2ecf20Sopenharmony_ci 1758c2ecf20Sopenharmony_ci This API is mostly used by camera interfaces in embedded platforms. 1768c2ecf20Sopenharmony_ci 1778c2ecf20Sopenharmony_ci# 1788c2ecf20Sopenharmony_ci# DVB Core 1798c2ecf20Sopenharmony_ci# Only enables if one of DTV is selected 1808c2ecf20Sopenharmony_ci# 1818c2ecf20Sopenharmony_ci 1828c2ecf20Sopenharmony_ciconfig DVB_CORE 1838c2ecf20Sopenharmony_ci tristate 1848c2ecf20Sopenharmony_ci depends on MEDIA_DIGITAL_TV_SUPPORT 1858c2ecf20Sopenharmony_ci depends on (I2C || I2C=n) 1868c2ecf20Sopenharmony_ci default MEDIA_DIGITAL_TV_SUPPORT 1878c2ecf20Sopenharmony_ci select CRC32 1888c2ecf20Sopenharmony_ci help 1898c2ecf20Sopenharmony_ci Enables the DVB API, used by Digital TV devices. Supports several 1908c2ecf20Sopenharmony_ci standards, including DVB, ATSC, ISDB and CMDB. 1918c2ecf20Sopenharmony_ci 1928c2ecf20Sopenharmony_ciendmenu # Media core support 1938c2ecf20Sopenharmony_ci 1948c2ecf20Sopenharmony_ci# 1958c2ecf20Sopenharmony_ci# Extra per-media API core functionality 1968c2ecf20Sopenharmony_ci 1978c2ecf20Sopenharmony_cimenu "Video4Linux options" 1988c2ecf20Sopenharmony_ci visible if VIDEO_DEV 1998c2ecf20Sopenharmony_ci 2008c2ecf20Sopenharmony_cisource "drivers/media/v4l2-core/Kconfig" 2018c2ecf20Sopenharmony_ciendmenu 2028c2ecf20Sopenharmony_ci 2038c2ecf20Sopenharmony_cimenu "Media controller options" 2048c2ecf20Sopenharmony_ci visible if MEDIA_CONTROLLER 2058c2ecf20Sopenharmony_ci 2068c2ecf20Sopenharmony_cisource "drivers/media/mc/Kconfig" 2078c2ecf20Sopenharmony_ciendmenu 2088c2ecf20Sopenharmony_ci 2098c2ecf20Sopenharmony_cimenu "Digital TV options" 2108c2ecf20Sopenharmony_ci visible if DVB_CORE 2118c2ecf20Sopenharmony_ci 2128c2ecf20Sopenharmony_cisource "drivers/media/dvb-core/Kconfig" 2138c2ecf20Sopenharmony_ciendmenu 2148c2ecf20Sopenharmony_ci 2158c2ecf20Sopenharmony_cimenu "Media drivers" 2168c2ecf20Sopenharmony_ci 2178c2ecf20Sopenharmony_cicomment "Drivers filtered as selected at 'Filter media drivers'" 2188c2ecf20Sopenharmony_ci depends on MEDIA_SUPPORT_FILTER 2198c2ecf20Sopenharmony_ci 2208c2ecf20Sopenharmony_cisource "drivers/media/usb/Kconfig" 2218c2ecf20Sopenharmony_cisource "drivers/media/pci/Kconfig" 2228c2ecf20Sopenharmony_cisource "drivers/media/radio/Kconfig" 2238c2ecf20Sopenharmony_ci 2248c2ecf20Sopenharmony_ci# Common driver options 2258c2ecf20Sopenharmony_cisource "drivers/media/common/Kconfig" 2268c2ecf20Sopenharmony_ci 2278c2ecf20Sopenharmony_ciif MEDIA_PLATFORM_SUPPORT 2288c2ecf20Sopenharmony_cisource "drivers/media/platform/Kconfig" 2298c2ecf20Sopenharmony_cisource "drivers/media/mmc/Kconfig" 2308c2ecf20Sopenharmony_ciendif 2318c2ecf20Sopenharmony_ci 2328c2ecf20Sopenharmony_ciif MEDIA_TEST_SUPPORT 2338c2ecf20Sopenharmony_cisource "drivers/media/test-drivers/Kconfig" 2348c2ecf20Sopenharmony_ciendif 2358c2ecf20Sopenharmony_ci 2368c2ecf20Sopenharmony_cisource "drivers/media/firewire/Kconfig" 2378c2ecf20Sopenharmony_ci 2388c2ecf20Sopenharmony_ciendmenu 2398c2ecf20Sopenharmony_ci 2408c2ecf20Sopenharmony_ci# 2418c2ecf20Sopenharmony_ci# Ancillary drivers (tuners, i2c, spi, frontends) 2428c2ecf20Sopenharmony_ci# 2438c2ecf20Sopenharmony_ci 2448c2ecf20Sopenharmony_ciconfig MEDIA_HIDE_ANCILLARY_SUBDRV 2458c2ecf20Sopenharmony_ci bool 2468c2ecf20Sopenharmony_ci depends on MEDIA_SUBDRV_AUTOSELECT && !COMPILE_TEST && !EXPERT 2478c2ecf20Sopenharmony_ci default y 2488c2ecf20Sopenharmony_ci 2498c2ecf20Sopenharmony_cimenu "Media ancillary drivers" 2508c2ecf20Sopenharmony_ci 2518c2ecf20Sopenharmony_ciconfig MEDIA_ATTACH 2528c2ecf20Sopenharmony_ci bool 2538c2ecf20Sopenharmony_ci depends on MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_RADIO_SUPPORT 2548c2ecf20Sopenharmony_ci depends on MODULES 2558c2ecf20Sopenharmony_ci default MODULES 2568c2ecf20Sopenharmony_ci 2578c2ecf20Sopenharmony_cisource "drivers/media/i2c/Kconfig" 2588c2ecf20Sopenharmony_cisource "drivers/media/spi/Kconfig" 2598c2ecf20Sopenharmony_cisource "drivers/media/tuners/Kconfig" 2608c2ecf20Sopenharmony_cisource "drivers/media/dvb-frontends/Kconfig" 2618c2ecf20Sopenharmony_ci 2628c2ecf20Sopenharmony_ciendmenu 2638c2ecf20Sopenharmony_ci 2648c2ecf20Sopenharmony_ciendif # MEDIA_SUPPORT 265