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 36c6774ee0SMauro Carvalho Chehabmenu "Media device types" 37c6774ee0SMauro Carvalho Chehab visible if MEDIA_SUPPORT_FILTER 387c91f062SMauro Carvalho Chehab 397c91f062SMauro Carvalho Chehab# 40b4c184e5SMauro Carvalho Chehab# Multimedia support - automatically enable V4L2 and DVB core 41b4c184e5SMauro Carvalho Chehab# 42b4c184e5SMauro Carvalho Chehabconfig MEDIA_CAMERA_SUPPORT 43c39d5704SMauro Carvalho Chehab bool "Cameras and video grabbers" 44c6774ee0SMauro Carvalho Chehab default y if !MEDIA_SUPPORT_FILTER 45b60a5b8dSMauro Carvalho Chehab help 46b4c184e5SMauro Carvalho Chehab Enable support for webcams and video grabbers. 47b4c184e5SMauro Carvalho Chehab 48b4c184e5SMauro Carvalho Chehab Say Y when you have a webcam or a video capture grabber board. 49b4c184e5SMauro Carvalho Chehab 50b4c184e5SMauro Carvalho Chehabconfig MEDIA_ANALOG_TV_SUPPORT 51c39d5704SMauro Carvalho Chehab bool "Analog TV" 52c6774ee0SMauro Carvalho Chehab default y if !MEDIA_SUPPORT_FILTER 53b60a5b8dSMauro Carvalho Chehab help 54b4c184e5SMauro Carvalho Chehab Enable analog TV support. 55b4c184e5SMauro Carvalho Chehab 56a3b91d8bSMauro Carvalho Chehab Say Y when you have a board with analog TV support. 57b4c184e5SMauro Carvalho Chehab 58b4c184e5SMauro Carvalho Chehabconfig MEDIA_DIGITAL_TV_SUPPORT 59c39d5704SMauro Carvalho Chehab bool "Digital TV" 60c6774ee0SMauro Carvalho Chehab default y if !MEDIA_SUPPORT_FILTER 61b60a5b8dSMauro Carvalho Chehab help 62b4c184e5SMauro Carvalho Chehab Enable digital TV support. 63b4c184e5SMauro Carvalho Chehab 64a3b91d8bSMauro Carvalho Chehab Say Y when you have a board with digital TV support. 65b4c184e5SMauro Carvalho Chehab 66b4c184e5SMauro Carvalho Chehabconfig MEDIA_RADIO_SUPPORT 67c39d5704SMauro Carvalho Chehab bool "AM/FM radio receivers/transmitters" 68c6774ee0SMauro Carvalho Chehab default y if !MEDIA_SUPPORT_FILTER 69b60a5b8dSMauro Carvalho Chehab help 70b4c184e5SMauro Carvalho Chehab Enable AM/FM radio support. 71b4c184e5SMauro Carvalho Chehab 72b4c184e5SMauro Carvalho Chehab Additional info and docs are available on the web at 73991ce92fSMauro Carvalho Chehab <https://linuxtv.org> 74b4c184e5SMauro Carvalho Chehab 75b4c184e5SMauro Carvalho Chehab Say Y when you have a board with radio support. 76b4c184e5SMauro Carvalho Chehab 77435ef148SAntti Palosaariconfig MEDIA_SDR_SUPPORT 78c39d5704SMauro Carvalho Chehab bool "Software defined radio" 79c6774ee0SMauro Carvalho Chehab default y if !MEDIA_SUPPORT_FILTER 80b60a5b8dSMauro Carvalho Chehab help 81435ef148SAntti Palosaari Enable software defined radio support. 82435ef148SAntti Palosaari 83435ef148SAntti Palosaari Say Y when you have a software defined radio device. 84435ef148SAntti Palosaari 850dbacebeSHans Verkuilconfig MEDIA_CEC_SUPPORT 86c39d5704SMauro Carvalho Chehab bool "HDMI CEC" 87c6774ee0SMauro Carvalho Chehab default y if !MEDIA_SUPPORT_FILTER 88b60a5b8dSMauro Carvalho Chehab help 890dbacebeSHans Verkuil Enable support for HDMI CEC (Consumer Electronics Control), 900dbacebeSHans Verkuil which is an optional HDMI feature. 910dbacebeSHans Verkuil 920dbacebeSHans Verkuil Say Y when you have an HDMI receiver, transmitter or a USB CEC 930dbacebeSHans Verkuil adapter that supports HDMI CEC. 940dbacebeSHans Verkuil 9506b93644SMauro Carvalho Chehabconfig MEDIA_PLATFORM_SUPPORT 96c39d5704SMauro Carvalho Chehab bool "Platform-specific devices" 97c6774ee0SMauro Carvalho Chehab default y if !MEDIA_SUPPORT_FILTER 9806b93644SMauro Carvalho Chehab help 9906b93644SMauro Carvalho Chehab Enable support for complex cameras, codecs, and other hardware 10006b93644SMauro Carvalho Chehab that are integrated at the CPU, GPU or on Image Signalling Processor 10106b93644SMauro Carvalho Chehab and don't use PCI, USB or Firewire buses. 10206b93644SMauro Carvalho Chehab 10306b93644SMauro Carvalho Chehab This is found on Embedded hardware (SoC), on V4L2 codecs and 10406b93644SMauro Carvalho Chehab on some GPU and newer CPU chipsets. 10506b93644SMauro Carvalho Chehab 10606b93644SMauro Carvalho Chehab Say Y when you want to be able so see such devices. 10706b93644SMauro Carvalho Chehab 1084b32216aSMauro Carvalho Chehabconfig MEDIA_TEST_SUPPORT 109c39d5704SMauro Carvalho Chehab bool "Test drivers" 110c6774ee0SMauro Carvalho Chehab default y if !MEDIA_SUPPORT_FILTER 1114b32216aSMauro Carvalho Chehab help 1124b32216aSMauro Carvalho Chehab Those drivers should not be used on production Kernels, but 1134b32216aSMauro Carvalho Chehab can be useful on debug ones. It enables several dummy drivers 1144b32216aSMauro Carvalho Chehab that simulate a real hardware. Very useful to test userspace 1154b32216aSMauro Carvalho Chehab applications and to validate if the subsystem core is doesn't 1164b32216aSMauro Carvalho Chehab have regressions. 1174b32216aSMauro Carvalho Chehab 1184b32216aSMauro Carvalho Chehab Say Y if you want to use some virtual test driver. 1194b32216aSMauro Carvalho Chehab 1204b32216aSMauro Carvalho Chehab In case of doubts, say N. 121c39d5704SMauro Carvalho Chehab Say Y when you have a software defined radio device. 122c6774ee0SMauro Carvalho Chehabendmenu # media device types 1234b32216aSMauro Carvalho Chehab 124078ab3eaSSakari Ailus 1255e9e60f4SMauro Carvalho Chehabmenu "Media core support" 1265e9e60f4SMauro Carvalho Chehab visible if !MEDIA_SUPPORT_FILTER 1277c91f062SMauro Carvalho Chehab 128a3b91d8bSMauro Carvalho Chehabcomment "Video4Linux core enabled to support hybrid TV devices" 129a3b91d8bSMauro Carvalho Chehab depends on MEDIA_HYBRID_USB || MEDIA_HYBRID_PCI 130a3b91d8bSMauro Carvalho Chehab 1311da177e4SLinus Torvaldsconfig VIDEO_DEV 132b4c184e5SMauro Carvalho Chehab tristate 133a3b91d8bSMauro Carvalho Chehab prompt "Video4Linux core" if !(MEDIA_HYBRID_USB || MEDIA_HYBRID_PCI) 1346268b351SMauro 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 1355e9e60f4SMauro Carvalho Chehab help 1365e9e60f4SMauro Carvalho Chehab Enables the V4L2 API, used by cameras, analog TV, video grabbers, 1375e9e60f4SMauro Carvalho Chehab radio devices and by some input devices. 1381da177e4SLinus Torvalds 1398fc42fffSMauro Carvalho Chehabconfig MEDIA_CONTROLLER 1408fc42fffSMauro Carvalho Chehab bool "Media Controller API" 1418fc42fffSMauro Carvalho Chehab default MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_PLATFORM_SUPPORT 1428fc42fffSMauro Carvalho Chehab help 1438fc42fffSMauro Carvalho Chehab Enable the media controller API used to query media devices internal 1448fc42fffSMauro Carvalho Chehab topology and configure it dynamically. 1458fc42fffSMauro Carvalho Chehab 1468fc42fffSMauro Carvalho Chehab This API is mostly used by camera interfaces in embedded platforms. 1478fc42fffSMauro Carvalho Chehab 1487c91f062SMauro Carvalho Chehab# 1497c91f062SMauro Carvalho Chehab# DVB Core 150b4c184e5SMauro Carvalho Chehab# Only enables if one of DTV is selected 1517c91f062SMauro Carvalho Chehab# 152cd41e28eSMauro Carvalho Chehab 153a3b91d8bSMauro Carvalho Chehabcomment "Digital TV core enabled to support hybrid TV devices" 154a3b91d8bSMauro Carvalho Chehab depends on MEDIA_HYBRID_USB || MEDIA_HYBRID_PCI 155a3b91d8bSMauro Carvalho Chehab 1567c91f062SMauro Carvalho Chehabconfig DVB_CORE 157b4c184e5SMauro Carvalho Chehab tristate 158a3b91d8bSMauro Carvalho Chehab prompt "Digital TV core" if !(MEDIA_HYBRID_USB || MEDIA_HYBRID_PCI) 159b4c184e5SMauro Carvalho Chehab depends on MEDIA_DIGITAL_TV_SUPPORT 16088327305SMauro Carvalho Chehab depends on (I2C || I2C=n) 1617c91f062SMauro Carvalho Chehab select CRC32 1624021053eSMauro Carvalho Chehab help 1635e9e60f4SMauro Carvalho Chehab Enables the DVB API, used by Digital TV devices. Supports several 1645e9e60f4SMauro Carvalho Chehab standards, including DVB, ATSC, ISDB and CMDB. 1654021053eSMauro Carvalho Chehab 1665e9e60f4SMauro Carvalho Chehabendmenu # Media core support 1674021053eSMauro Carvalho Chehab 1685e9e60f4SMauro Carvalho Chehab# 1695e9e60f4SMauro Carvalho Chehab# Extra per-media API core functionality 170a34ff6cdSHans Petter Selasky 1715e9e60f4SMauro Carvalho Chehabmenu "Media core additional options" 1727d5bc693SMauro Carvalho Chehabsource "drivers/media/v4l2-core/Kconfig" 1737d5bc693SMauro Carvalho Chehabsource "drivers/media/mc/Kconfig" 174f0af8fa4SMauro Carvalho Chehabsource "drivers/media/dvb-core/Kconfig" 1757d5bc693SMauro Carvalho Chehabsource "drivers/media/cec/Kconfig" 1765e9e60f4SMauro Carvalho Chehabendmenu 177f0af8fa4SMauro Carvalho Chehab 1785e9e60f4SMauro Carvalho Chehabmenu "Media drivers" 1797c91f062SMauro Carvalho Chehab 180ce971d95SMauro Carvalho Chehabcomment "Drivers filtered as selected at 'Filter media drivers'" 181ce971d95SMauro Carvalho Chehab depends on MEDIA_SUPPORT_FILTER 182ce971d95SMauro Carvalho Chehab 183786baecfSMauro Carvalho Chehabsource "drivers/media/usb/Kconfig" 1843c8c09b5SMauro Carvalho Chehabsource "drivers/media/pci/Kconfig" 18506b93644SMauro Carvalho Chehabsource "drivers/media/radio/Kconfig" 18606b93644SMauro Carvalho Chehab 1877d5bc693SMauro Carvalho Chehab# Common driver options 1887d5bc693SMauro Carvalho Chehabsource "drivers/media/common/Kconfig" 1897d5bc693SMauro Carvalho Chehab 19006b93644SMauro Carvalho Chehabif MEDIA_PLATFORM_SUPPORT 1913c8c09b5SMauro Carvalho Chehabsource "drivers/media/platform/Kconfig" 1924b32216aSMauro Carvalho Chehabsource "drivers/media/test_drivers/Kconfig" 1930013ca8cSMauro Carvalho Chehabsource "drivers/media/mmc/Kconfig" 19406b93644SMauro Carvalho Chehabendif 1951da177e4SLinus Torvalds 196616300bdSMauro Carvalho Chehabsource "drivers/media/firewire/Kconfig" 197616300bdSMauro Carvalho Chehab 1985e9e60f4SMauro Carvalho Chehabendmenu 1995e9e60f4SMauro Carvalho Chehab 2005e9e60f4SMauro Carvalho Chehabmenu "Media ancillary drivers (tuners, sensors, i2c, spi, frontends)" 2015344fe6eSHans Verkuil 2023c8c09b5SMauro Carvalho Chehab# 2038283a092SHans Verkuil# Ancillary drivers (tuners, i2c, spi, frontends) 2043c8c09b5SMauro Carvalho Chehab# 2053c8c09b5SMauro Carvalho Chehab 206fccea74fSMauro Carvalho Chehabconfig MEDIA_SUBDRV_AUTOSELECT 2078283a092SHans Verkuil bool "Autoselect ancillary drivers (tuners, sensors, i2c, spi, frontends)" 208435ef148SAntti Palosaari depends on MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_CAMERA_SUPPORT || MEDIA_SDR_SUPPORT 209347f7a37SMauro Carvalho Chehab depends on HAS_IOMEM 210347f7a37SMauro Carvalho Chehab select I2C 211347f7a37SMauro Carvalho Chehab select I2C_MUX 21224f6f93aSEzequiel Garcia default y if !EMBEDDED 213fccea74fSMauro Carvalho Chehab help 2145344fe6eSHans Verkuil By default, a media driver auto-selects all possible ancillary 2155344fe6eSHans Verkuil devices such as tuners, sensors, video encoders/decoders and 2165344fe6eSHans Verkuil frontends, that are used by any of the supported devices. 217fccea74fSMauro Carvalho Chehab 218fccea74fSMauro Carvalho Chehab This is generally the right thing to do, except when there 2192c76a12aSMauro Carvalho Chehab are strict constraints with regards to the kernel size, 2202c76a12aSMauro Carvalho Chehab like on embedded systems. 221fccea74fSMauro Carvalho Chehab 2222c76a12aSMauro Carvalho Chehab Use this option with care, as deselecting ancillary drivers which 2232c76a12aSMauro Carvalho Chehab are, in fact, necessary will result in the lack of the needed 2242c76a12aSMauro Carvalho Chehab functionality for your device (it may not tune or may not have 2255344fe6eSHans Verkuil the needed demodulators). 226fccea74fSMauro Carvalho Chehab 227fccea74fSMauro Carvalho Chehab If unsure say Y. 228bb69ee27SMauro Carvalho Chehab 2294fa4ef39SEzequiel Garciaconfig MEDIA_HIDE_ANCILLARY_SUBDRV 2304fa4ef39SEzequiel Garcia bool 2314fa4ef39SEzequiel Garcia depends on MEDIA_SUBDRV_AUTOSELECT && !COMPILE_TEST && !EXPERT 2324fa4ef39SEzequiel Garcia default y 2334fa4ef39SEzequiel Garcia 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