1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only 21da177e4SLinus Torvalds# 31da177e4SLinus Torvalds# Multimedia device configuration 41da177e4SLinus Torvalds# 51da177e4SLinus Torvalds 6b9e1486eSSean Youngsource "drivers/media/rc/Kconfig" 7b9e1486eSSean Young 8ab482a6cSRandy Dunlapmenuconfig MEDIA_SUPPORT 9ab482a6cSRandy Dunlap tristate "Multimedia support" 10e25df120SMartin Schwidefsky depends on HAS_IOMEM 11ab482a6cSRandy Dunlap help 12dee1877dSMauro Carvalho Chehab If you want to use media devices, including Webcams, Video grabber 13dee1877dSMauro Carvalho Chehab devices and/or TV devices, V4L2 codecs, etc, enable this option 14dee1877dSMauro Carvalho Chehab and other options below. 15dee1877dSMauro Carvalho Chehab 16b4c184e5SMauro Carvalho Chehab Additional info and docs are available on the web at 17991ce92fSMauro Carvalho Chehab <https://linuxtv.org> 18ab482a6cSRandy Dunlap 19c6774ee0SMauro Carvalho Chehabif MEDIA_SUPPORT 20c6774ee0SMauro Carvalho Chehab 21c6774ee0SMauro Carvalho Chehabconfig MEDIA_SUPPORT_FILTER 22ce971d95SMauro Carvalho Chehab bool "Filter media drivers" 23c39d5704SMauro Carvalho Chehab depends on MEDIA_SUPPORT 24c6774ee0SMauro Carvalho Chehab help 25c6774ee0SMauro Carvalho Chehab Configuring the media subsystem can be complex, as there are 26c6774ee0SMauro Carvalho Chehab hundreds of drivers and other config options. 27c6774ee0SMauro Carvalho Chehab 28c6774ee0SMauro Carvalho Chehab This menu offers option that will help the Kernel's config 29c6774ee0SMauro Carvalho Chehab system to hide drivers that are out of the scope of the 30c6774ee0SMauro Carvalho Chehab user needs, and disabling core support for unused APIs. 31c6774ee0SMauro Carvalho Chehab 32c6774ee0SMauro Carvalho Chehab If not selected, all non-optional media core functionality 33c6774ee0SMauro Carvalho Chehab needed to support media drivers will be enabled. Also, all 34c6774ee0SMauro Carvalho Chehab media device drivers should be shown. 35c6774ee0SMauro Carvalho Chehab 361b80d36aSMauro Carvalho Chehabconfig MEDIA_SUBDRV_AUTOSELECT 371b80d36aSMauro Carvalho Chehab bool "Autoselect ancillary drivers (tuners, sensors, i2c, spi, frontends)" 381b80d36aSMauro Carvalho Chehab depends on HAS_IOMEM 391b80d36aSMauro Carvalho Chehab select I2C 401b80d36aSMauro Carvalho Chehab select I2C_MUX 411b80d36aSMauro Carvalho Chehab default y if MEDIA_SUPPORT_FILTER 421b80d36aSMauro Carvalho Chehab help 431b80d36aSMauro Carvalho Chehab By default, a media driver auto-selects all possible ancillary 441b80d36aSMauro Carvalho Chehab devices such as tuners, sensors, video encoders/decoders and 451b80d36aSMauro Carvalho Chehab frontends, that are used by any of the supported devices. 461b80d36aSMauro Carvalho Chehab 471b80d36aSMauro Carvalho Chehab This is generally the right thing to do, except when there 481b80d36aSMauro Carvalho Chehab are strict constraints with regards to the kernel size, 491b80d36aSMauro Carvalho Chehab like on embedded systems. 501b80d36aSMauro Carvalho Chehab 511b80d36aSMauro Carvalho Chehab Use this option with care, as deselecting ancillary drivers which 521b80d36aSMauro Carvalho Chehab are, in fact, necessary will result in the lack of the needed 531b80d36aSMauro Carvalho Chehab functionality for your device (it may not tune or may not have 541b80d36aSMauro Carvalho Chehab the needed demodulators). 551b80d36aSMauro Carvalho Chehab 561b80d36aSMauro Carvalho Chehab If unsure say Y. 571b80d36aSMauro Carvalho Chehab 58c6774ee0SMauro Carvalho Chehabmenu "Media device types" 59c6774ee0SMauro Carvalho Chehab visible if MEDIA_SUPPORT_FILTER 607c91f062SMauro Carvalho Chehab 617c91f062SMauro Carvalho Chehab# 62b4c184e5SMauro Carvalho Chehab# Multimedia support - automatically enable V4L2 and DVB core 63b4c184e5SMauro Carvalho Chehab# 64b4c184e5SMauro Carvalho Chehabconfig MEDIA_CAMERA_SUPPORT 65c39d5704SMauro Carvalho Chehab bool "Cameras and video grabbers" 66c6774ee0SMauro Carvalho Chehab default y if !MEDIA_SUPPORT_FILTER 67b60a5b8dSMauro Carvalho Chehab help 68b4c184e5SMauro Carvalho Chehab Enable support for webcams and video grabbers. 69b4c184e5SMauro Carvalho Chehab 70b4c184e5SMauro Carvalho Chehab Say Y when you have a webcam or a video capture grabber board. 71b4c184e5SMauro Carvalho Chehab 72b4c184e5SMauro Carvalho Chehabconfig MEDIA_ANALOG_TV_SUPPORT 73c39d5704SMauro Carvalho Chehab bool "Analog TV" 74c6774ee0SMauro Carvalho Chehab default y if !MEDIA_SUPPORT_FILTER 75b60a5b8dSMauro Carvalho Chehab help 76b4c184e5SMauro Carvalho Chehab Enable analog TV support. 77b4c184e5SMauro Carvalho Chehab 78a3b91d8bSMauro Carvalho Chehab Say Y when you have a board with analog TV support. 79b4c184e5SMauro Carvalho Chehab 80b4c184e5SMauro Carvalho Chehabconfig MEDIA_DIGITAL_TV_SUPPORT 81c39d5704SMauro Carvalho Chehab bool "Digital TV" 82c6774ee0SMauro Carvalho Chehab default y if !MEDIA_SUPPORT_FILTER 83b60a5b8dSMauro Carvalho Chehab help 84b4c184e5SMauro Carvalho Chehab Enable digital TV support. 85b4c184e5SMauro Carvalho Chehab 86a3b91d8bSMauro Carvalho Chehab Say Y when you have a board with digital TV support. 87b4c184e5SMauro Carvalho Chehab 88b4c184e5SMauro Carvalho Chehabconfig MEDIA_RADIO_SUPPORT 89c39d5704SMauro Carvalho Chehab bool "AM/FM radio receivers/transmitters" 90c6774ee0SMauro Carvalho Chehab default y if !MEDIA_SUPPORT_FILTER 91b60a5b8dSMauro Carvalho Chehab help 92b4c184e5SMauro Carvalho Chehab Enable AM/FM radio support. 93b4c184e5SMauro Carvalho Chehab 94b4c184e5SMauro Carvalho Chehab Additional info and docs are available on the web at 95991ce92fSMauro Carvalho Chehab <https://linuxtv.org> 96b4c184e5SMauro Carvalho Chehab 97b4c184e5SMauro Carvalho Chehab Say Y when you have a board with radio support. 98b4c184e5SMauro Carvalho Chehab 99435ef148SAntti Palosaariconfig MEDIA_SDR_SUPPORT 100c39d5704SMauro Carvalho Chehab bool "Software defined radio" 101c6774ee0SMauro Carvalho Chehab default y if !MEDIA_SUPPORT_FILTER 102b60a5b8dSMauro Carvalho Chehab help 103435ef148SAntti Palosaari Enable software defined radio support. 104435ef148SAntti Palosaari 105435ef148SAntti Palosaari Say Y when you have a software defined radio device. 106435ef148SAntti Palosaari 1070dbacebeSHans Verkuilconfig MEDIA_CEC_SUPPORT 108c39d5704SMauro Carvalho Chehab bool "HDMI CEC" 109c6774ee0SMauro Carvalho Chehab default y if !MEDIA_SUPPORT_FILTER 110b60a5b8dSMauro Carvalho Chehab help 1110dbacebeSHans Verkuil Enable support for HDMI CEC (Consumer Electronics Control), 1120dbacebeSHans Verkuil which is an optional HDMI feature. 1130dbacebeSHans Verkuil 1140dbacebeSHans Verkuil Say Y when you have an HDMI receiver, transmitter or a USB CEC 1150dbacebeSHans Verkuil adapter that supports HDMI CEC. 1160dbacebeSHans Verkuil 11706b93644SMauro Carvalho Chehabconfig MEDIA_PLATFORM_SUPPORT 118c39d5704SMauro Carvalho Chehab bool "Platform-specific devices" 119c6774ee0SMauro Carvalho Chehab default y if !MEDIA_SUPPORT_FILTER 12006b93644SMauro Carvalho Chehab help 12106b93644SMauro Carvalho Chehab Enable support for complex cameras, codecs, and other hardware 12206b93644SMauro Carvalho Chehab that are integrated at the CPU, GPU or on Image Signalling Processor 12306b93644SMauro Carvalho Chehab and don't use PCI, USB or Firewire buses. 12406b93644SMauro Carvalho Chehab 12506b93644SMauro Carvalho Chehab This is found on Embedded hardware (SoC), on V4L2 codecs and 12606b93644SMauro Carvalho Chehab on some GPU and newer CPU chipsets. 12706b93644SMauro Carvalho Chehab 12806b93644SMauro Carvalho Chehab Say Y when you want to be able so see such devices. 12906b93644SMauro Carvalho Chehab 1304b32216aSMauro Carvalho Chehabconfig MEDIA_TEST_SUPPORT 131c39d5704SMauro Carvalho Chehab bool "Test drivers" 132c6774ee0SMauro Carvalho Chehab default y if !MEDIA_SUPPORT_FILTER 1334b32216aSMauro Carvalho Chehab help 1344b32216aSMauro Carvalho Chehab Those drivers should not be used on production Kernels, but 1354b32216aSMauro Carvalho Chehab can be useful on debug ones. It enables several dummy drivers 1364b32216aSMauro Carvalho Chehab that simulate a real hardware. Very useful to test userspace 1374b32216aSMauro Carvalho Chehab applications and to validate if the subsystem core is doesn't 1384b32216aSMauro Carvalho Chehab have regressions. 1394b32216aSMauro Carvalho Chehab 1404b32216aSMauro Carvalho Chehab Say Y if you want to use some virtual test driver. 1414b32216aSMauro Carvalho Chehab 1424b32216aSMauro Carvalho Chehab In case of doubts, say N. 143c39d5704SMauro Carvalho Chehab Say Y when you have a software defined radio device. 144c6774ee0SMauro Carvalho Chehabendmenu # media device types 1454b32216aSMauro Carvalho Chehab 146078ab3eaSSakari Ailus 1475e9e60f4SMauro Carvalho Chehabmenu "Media core support" 1485e9e60f4SMauro Carvalho Chehab visible if !MEDIA_SUPPORT_FILTER 1497c91f062SMauro Carvalho Chehab 150a3b91d8bSMauro Carvalho Chehabcomment "Video4Linux core enabled to support hybrid TV devices" 151a3b91d8bSMauro Carvalho Chehab depends on MEDIA_HYBRID_USB || MEDIA_HYBRID_PCI 152a3b91d8bSMauro Carvalho Chehab 1531da177e4SLinus Torvaldsconfig VIDEO_DEV 154b4c184e5SMauro Carvalho Chehab tristate 155a3b91d8bSMauro Carvalho Chehab prompt "Video4Linux core" if !(MEDIA_HYBRID_USB || MEDIA_HYBRID_PCI) 1566268b351SMauro Carvalho Chehab default MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_RADIO_SUPPORT || MEDIA_SDR_SUPPORT || MEDIA_PLATFORM_SUPPORT || MEDIA_TEST_SUPPORT || MEDIA_HYBRID_USB || MEDIA_HYBRID_PCI 1575e9e60f4SMauro Carvalho Chehab help 1585e9e60f4SMauro Carvalho Chehab Enables the V4L2 API, used by cameras, analog TV, video grabbers, 1595e9e60f4SMauro Carvalho Chehab radio devices and by some input devices. 1601da177e4SLinus Torvalds 1618fc42fffSMauro Carvalho Chehabconfig MEDIA_CONTROLLER 1628fc42fffSMauro Carvalho Chehab bool "Media Controller API" 1638fc42fffSMauro Carvalho Chehab default MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_PLATFORM_SUPPORT 1648fc42fffSMauro Carvalho Chehab help 1658fc42fffSMauro Carvalho Chehab Enable the media controller API used to query media devices internal 1668fc42fffSMauro Carvalho Chehab topology and configure it dynamically. 1678fc42fffSMauro Carvalho Chehab 1688fc42fffSMauro Carvalho Chehab This API is mostly used by camera interfaces in embedded platforms. 1698fc42fffSMauro Carvalho Chehab 1707c91f062SMauro Carvalho Chehab# 1717c91f062SMauro Carvalho Chehab# DVB Core 172b4c184e5SMauro Carvalho Chehab# Only enables if one of DTV is selected 1737c91f062SMauro Carvalho Chehab# 174cd41e28eSMauro Carvalho Chehab 175a3b91d8bSMauro Carvalho Chehabcomment "Digital TV core enabled to support hybrid TV devices" 176a3b91d8bSMauro Carvalho Chehab depends on MEDIA_HYBRID_USB || MEDIA_HYBRID_PCI 177a3b91d8bSMauro Carvalho Chehab 1787c91f062SMauro Carvalho Chehabconfig DVB_CORE 179b4c184e5SMauro Carvalho Chehab tristate 180a3b91d8bSMauro Carvalho Chehab prompt "Digital TV core" if !(MEDIA_HYBRID_USB || MEDIA_HYBRID_PCI) 181b4c184e5SMauro Carvalho Chehab depends on MEDIA_DIGITAL_TV_SUPPORT 18288327305SMauro Carvalho Chehab depends on (I2C || I2C=n) 1837c91f062SMauro Carvalho Chehab select CRC32 1844021053eSMauro Carvalho Chehab help 1855e9e60f4SMauro Carvalho Chehab Enables the DVB API, used by Digital TV devices. Supports several 1865e9e60f4SMauro Carvalho Chehab standards, including DVB, ATSC, ISDB and CMDB. 1874021053eSMauro Carvalho Chehab 1885e9e60f4SMauro Carvalho Chehabendmenu # Media core support 1894021053eSMauro Carvalho Chehab 1905e9e60f4SMauro Carvalho Chehab# 1915e9e60f4SMauro Carvalho Chehab# Extra per-media API core functionality 192a34ff6cdSHans Petter Selasky 1935e9e60f4SMauro Carvalho Chehabmenu "Media core additional options" 1947d5bc693SMauro Carvalho Chehabsource "drivers/media/v4l2-core/Kconfig" 1957d5bc693SMauro Carvalho Chehabsource "drivers/media/mc/Kconfig" 196f0af8fa4SMauro Carvalho Chehabsource "drivers/media/dvb-core/Kconfig" 1977d5bc693SMauro Carvalho Chehabsource "drivers/media/cec/Kconfig" 1985e9e60f4SMauro Carvalho Chehabendmenu 199f0af8fa4SMauro Carvalho Chehab 2005e9e60f4SMauro Carvalho Chehabmenu "Media drivers" 2017c91f062SMauro Carvalho Chehab 202ce971d95SMauro Carvalho Chehabcomment "Drivers filtered as selected at 'Filter media drivers'" 203ce971d95SMauro Carvalho Chehab depends on MEDIA_SUPPORT_FILTER 204ce971d95SMauro Carvalho Chehab 205786baecfSMauro Carvalho Chehabsource "drivers/media/usb/Kconfig" 2063c8c09b5SMauro Carvalho Chehabsource "drivers/media/pci/Kconfig" 20706b93644SMauro Carvalho Chehabsource "drivers/media/radio/Kconfig" 20806b93644SMauro Carvalho Chehab 2097d5bc693SMauro Carvalho Chehab# Common driver options 2107d5bc693SMauro Carvalho Chehabsource "drivers/media/common/Kconfig" 2117d5bc693SMauro Carvalho Chehab 21206b93644SMauro Carvalho Chehabif MEDIA_PLATFORM_SUPPORT 2133c8c09b5SMauro Carvalho Chehabsource "drivers/media/platform/Kconfig" 2144b32216aSMauro Carvalho Chehabsource "drivers/media/test_drivers/Kconfig" 2150013ca8cSMauro Carvalho Chehabsource "drivers/media/mmc/Kconfig" 21606b93644SMauro Carvalho Chehabendif 2171da177e4SLinus Torvalds 218616300bdSMauro Carvalho Chehabsource "drivers/media/firewire/Kconfig" 219616300bdSMauro Carvalho Chehab 2205e9e60f4SMauro Carvalho Chehabendmenu 2215e9e60f4SMauro Carvalho Chehab 2223c8c09b5SMauro Carvalho Chehab# 2238283a092SHans Verkuil# Ancillary drivers (tuners, i2c, spi, frontends) 2243c8c09b5SMauro Carvalho Chehab# 2253c8c09b5SMauro Carvalho Chehab 2264fa4ef39SEzequiel Garciaconfig MEDIA_HIDE_ANCILLARY_SUBDRV 2274fa4ef39SEzequiel Garcia bool 2284fa4ef39SEzequiel Garcia depends on MEDIA_SUBDRV_AUTOSELECT && !COMPILE_TEST && !EXPERT 2294fa4ef39SEzequiel Garcia default y 2304fa4ef39SEzequiel Garcia 2311b80d36aSMauro Carvalho Chehabmenu "Media ancillary drivers" 2321b80d36aSMauro Carvalho Chehab visible if !MEDIA_HIDE_ANCILLARY_SUBDRV 2331b80d36aSMauro Carvalho Chehab 234bb69ee27SMauro Carvalho Chehabconfig MEDIA_ATTACH 235bb69ee27SMauro Carvalho Chehab bool 236bb69ee27SMauro Carvalho Chehab depends on MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_RADIO_SUPPORT 237bb69ee27SMauro Carvalho Chehab depends on MODULES 238bb69ee27SMauro Carvalho Chehab default MODULES 239fccea74fSMauro Carvalho Chehab 2403c8c09b5SMauro Carvalho Chehabsource "drivers/media/i2c/Kconfig" 2418283a092SHans Verkuilsource "drivers/media/spi/Kconfig" 242fccea74fSMauro Carvalho Chehabsource "drivers/media/tuners/Kconfig" 2433c8c09b5SMauro Carvalho Chehabsource "drivers/media/dvb-frontends/Kconfig" 2443c8c09b5SMauro Carvalho Chehab 2455e9e60f4SMauro Carvalho Chehabendmenu 2465e9e60f4SMauro Carvalho Chehab 247ab482a6cSRandy Dunlapendif # MEDIA_SUPPORT 248