xref: /openbmc/linux/drivers/media/Kconfig (revision 4b32216a)
1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
21da177e4SLinus Torvalds#
31da177e4SLinus Torvalds# Multimedia device configuration
41da177e4SLinus Torvalds#
51da177e4SLinus Torvalds
69177e51dSHans Verkuilconfig CEC_CORE
79177e51dSHans Verkuil	tristate
89177e51dSHans Verkuil
9e94c3281SHans Verkuilconfig CEC_NOTIFIER
109177e51dSHans Verkuil	bool
119177e51dSHans Verkuil
12ea5c8ef2SHans Verkuilconfig CEC_PIN
13ea5c8ef2SHans Verkuil	bool
14ea5c8ef2SHans Verkuil
15b9e1486eSSean Youngsource "drivers/media/rc/Kconfig"
16b9e1486eSSean Young
17ab482a6cSRandy Dunlapmenuconfig MEDIA_SUPPORT
18ab482a6cSRandy Dunlap	tristate "Multimedia support"
19e25df120SMartin Schwidefsky	depends on HAS_IOMEM
20ab482a6cSRandy Dunlap	help
21dee1877dSMauro Carvalho Chehab	  If you want to use media devices, including Webcams, Video grabber
22dee1877dSMauro Carvalho Chehab	  devices and/or TV devices, V4L2 codecs, etc, enable this option
23dee1877dSMauro Carvalho Chehab	  and other options below.
24dee1877dSMauro Carvalho Chehab
25b4c184e5SMauro Carvalho Chehab	  Additional info and docs are available on the web at
26991ce92fSMauro Carvalho Chehab	  <https://linuxtv.org>
27ab482a6cSRandy Dunlap
28ab482a6cSRandy Dunlapif MEDIA_SUPPORT
291da177e4SLinus Torvalds
307c91f062SMauro Carvalho Chehabcomment "Multimedia core support"
317c91f062SMauro Carvalho Chehab
327c91f062SMauro Carvalho Chehab#
33b4c184e5SMauro Carvalho Chehab# Multimedia support - automatically enable V4L2 and DVB core
34b4c184e5SMauro Carvalho Chehab#
35b4c184e5SMauro Carvalho Chehabconfig MEDIA_CAMERA_SUPPORT
36b4c184e5SMauro Carvalho Chehab	bool "Cameras/video grabbers support"
37b60a5b8dSMauro Carvalho Chehab	help
38b4c184e5SMauro Carvalho Chehab	  Enable support for webcams and video grabbers.
39b4c184e5SMauro Carvalho Chehab
40b4c184e5SMauro Carvalho Chehab	  Say Y when you have a webcam or a video capture grabber board.
41b4c184e5SMauro Carvalho Chehab
42b4c184e5SMauro Carvalho Chehabconfig MEDIA_ANALOG_TV_SUPPORT
43b4c184e5SMauro Carvalho Chehab	bool "Analog TV support"
44b60a5b8dSMauro Carvalho Chehab	help
45b4c184e5SMauro Carvalho Chehab	  Enable analog TV support.
46b4c184e5SMauro Carvalho Chehab
47b4c184e5SMauro Carvalho Chehab	  Say Y when you have a TV board with analog support or with a
48b4c184e5SMauro Carvalho Chehab	  hybrid analog/digital TV chipset.
49b4c184e5SMauro Carvalho Chehab
50b4c184e5SMauro Carvalho Chehab	  Note: There are several DVB cards that are based on chips that
51b4c184e5SMauro Carvalho Chehab		support both analog and digital TV. Disabling this option
52b4c184e5SMauro Carvalho Chehab		will disable support for them.
53b4c184e5SMauro Carvalho Chehab
54b4c184e5SMauro Carvalho Chehabconfig MEDIA_DIGITAL_TV_SUPPORT
55b4c184e5SMauro Carvalho Chehab	bool "Digital TV support"
56b60a5b8dSMauro Carvalho Chehab	help
57b4c184e5SMauro Carvalho Chehab	  Enable digital TV support.
58b4c184e5SMauro Carvalho Chehab
59b4c184e5SMauro Carvalho Chehab	  Say Y when you have a board with digital support or a board with
60b4c184e5SMauro Carvalho Chehab	  hybrid digital TV and analog TV.
61b4c184e5SMauro Carvalho Chehab
62b4c184e5SMauro Carvalho Chehabconfig MEDIA_RADIO_SUPPORT
63b4c184e5SMauro Carvalho Chehab	bool "AM/FM radio receivers/transmitters support"
64b60a5b8dSMauro Carvalho Chehab	help
65b4c184e5SMauro Carvalho Chehab	  Enable AM/FM radio support.
66b4c184e5SMauro Carvalho Chehab
67b4c184e5SMauro Carvalho Chehab	  Additional info and docs are available on the web at
68991ce92fSMauro Carvalho Chehab	  <https://linuxtv.org>
69b4c184e5SMauro Carvalho Chehab
70b4c184e5SMauro Carvalho Chehab	  Say Y when you have a board with radio support.
71b4c184e5SMauro Carvalho Chehab
72b4c184e5SMauro Carvalho Chehab	  Note: There are several TV cards that are based on chips that
73b4c184e5SMauro Carvalho Chehab		support radio reception. Disabling this option will
74b4c184e5SMauro Carvalho Chehab		disable support for them.
75b4c184e5SMauro Carvalho Chehab
76435ef148SAntti Palosaariconfig MEDIA_SDR_SUPPORT
77435ef148SAntti Palosaari	bool "Software defined radio support"
78b60a5b8dSMauro Carvalho Chehab	help
79435ef148SAntti Palosaari	  Enable software defined radio support.
80435ef148SAntti Palosaari
81435ef148SAntti Palosaari	  Say Y when you have a software defined radio device.
82435ef148SAntti Palosaari
830dbacebeSHans Verkuilconfig MEDIA_CEC_SUPPORT
840dbacebeSHans Verkuil	bool "HDMI CEC support"
85b60a5b8dSMauro Carvalho Chehab	help
860dbacebeSHans Verkuil	  Enable support for HDMI CEC (Consumer Electronics Control),
870dbacebeSHans Verkuil	  which is an optional HDMI feature.
880dbacebeSHans Verkuil
890dbacebeSHans Verkuil	  Say Y when you have an HDMI receiver, transmitter or a USB CEC
900dbacebeSHans Verkuil	  adapter that supports HDMI CEC.
910dbacebeSHans Verkuil
9206b93644SMauro Carvalho Chehabconfig MEDIA_PLATFORM_SUPPORT
9306b93644SMauro Carvalho Chehab	bool "Platform-specific devices support"
9406b93644SMauro Carvalho Chehab	help
9506b93644SMauro Carvalho Chehab	  Enable support for complex cameras, codecs, and other hardware
9606b93644SMauro Carvalho Chehab	  that are integrated at the CPU, GPU or on Image Signalling Processor
9706b93644SMauro Carvalho Chehab	  and don't use PCI, USB or Firewire buses.
9806b93644SMauro Carvalho Chehab
9906b93644SMauro Carvalho Chehab	  This is found on Embedded hardware (SoC), on V4L2 codecs and
10006b93644SMauro Carvalho Chehab	  on some GPU and newer CPU chipsets.
10106b93644SMauro Carvalho Chehab
10206b93644SMauro Carvalho Chehab	  Say Y when you want to be able so see such devices.
10306b93644SMauro Carvalho Chehab
1044b32216aSMauro Carvalho Chehabconfig MEDIA_TEST_SUPPORT
1054b32216aSMauro Carvalho Chehab	bool "Test drivers support"
1064b32216aSMauro Carvalho Chehab	help
1074b32216aSMauro Carvalho Chehab	  Those drivers should not be used on production Kernels, but
1084b32216aSMauro Carvalho Chehab	  can be useful on debug ones. It enables several dummy drivers
1094b32216aSMauro Carvalho Chehab	  that simulate a real hardware. Very useful to test userspace
1104b32216aSMauro Carvalho Chehab	  applications and to validate if the subsystem core is doesn't
1114b32216aSMauro Carvalho Chehab	  have regressions.
1124b32216aSMauro Carvalho Chehab
1134b32216aSMauro Carvalho Chehab	  Say Y if you want to use some virtual test driver.
1144b32216aSMauro Carvalho Chehab
1154b32216aSMauro Carvalho Chehab	  In case of doubts, say N.
1164b32216aSMauro Carvalho Chehab
11756a263aaSHans Verkuilsource "drivers/media/cec/Kconfig"
1186917a7b7SHans Verkuil
119c612e54fSHans Verkuilsource "drivers/media/mc/Kconfig"
120078ab3eaSSakari Ailus
121cf4b9211SLaurent Pinchart#
122b4c184e5SMauro Carvalho Chehab# Video4Linux support
123b4c184e5SMauro Carvalho Chehab#	Only enables if one of the V4L2 types (ATV, webcam, radio) is selected
1247c91f062SMauro Carvalho Chehab#
1257c91f062SMauro Carvalho Chehab
1261da177e4SLinus Torvaldsconfig VIDEO_DEV
127b4c184e5SMauro Carvalho Chehab	tristate
128b4c184e5SMauro Carvalho Chehab	depends on MEDIA_SUPPORT
129a19f228bSMauro Carvalho Chehab	default MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_RADIO_SUPPORT || MEDIA_SDR_SUPPORT || MEDIA_PLATFORM_SUPPORT
1301da177e4SLinus Torvalds
1317cd5a16bSStanimir Varbanovconfig VIDEO_V4L2_SUBDEV_API
13251e8cb74SKees Cook	bool "V4L2 sub-device userspace API"
13351e8cb74SKees Cook	depends on VIDEO_DEV && MEDIA_CONTROLLER
134b60a5b8dSMauro Carvalho Chehab	help
1357cd5a16bSStanimir Varbanov	  Enables the V4L2 sub-device pad-level userspace API used to configure
1367cd5a16bSStanimir Varbanov	  video format, size and frame rate between hardware blocks.
1377cd5a16bSStanimir Varbanov
1387cd5a16bSStanimir Varbanov	  This API is mostly used by camera interfaces in embedded platforms.
1397cd5a16bSStanimir Varbanov
140f0af8fa4SMauro Carvalho Chehabsource "drivers/media/v4l2-core/Kconfig"
141f0af8fa4SMauro Carvalho Chehab
1427c91f062SMauro Carvalho Chehab#
1437c91f062SMauro Carvalho Chehab# DVB Core
144b4c184e5SMauro Carvalho Chehab#	Only enables if one of DTV is selected
1457c91f062SMauro Carvalho Chehab#
146cd41e28eSMauro Carvalho Chehab
1477c91f062SMauro Carvalho Chehabconfig DVB_CORE
148b4c184e5SMauro Carvalho Chehab	tristate
149b4c184e5SMauro Carvalho Chehab	depends on MEDIA_SUPPORT
150b4c184e5SMauro Carvalho Chehab	depends on MEDIA_DIGITAL_TV_SUPPORT
15188327305SMauro Carvalho Chehab	depends on (I2C || I2C=n)
152b4c184e5SMauro Carvalho Chehab	default y
1537c91f062SMauro Carvalho Chehab	select CRC32
1547c91f062SMauro Carvalho Chehab
1554021053eSMauro Carvalho Chehabconfig DVB_MMAP
1564021053eSMauro Carvalho Chehab	bool "Enable DVB memory-mapped API (EXPERIMENTAL)"
1574021053eSMauro Carvalho Chehab	depends on DVB_CORE
15885e60bd7SArnd Bergmann	depends on VIDEO_V4L2=y || VIDEO_V4L2=DVB_CORE
15985e60bd7SArnd Bergmann	select VIDEOBUF2_VMALLOC
1604021053eSMauro Carvalho Chehab	help
1612c27476eSMichael Ira Krufky	  This option enables DVB experimental memory-mapped API, which
1624021053eSMauro Carvalho Chehab	  reduces the number of context switches to read DVB buffers, as
1634021053eSMauro Carvalho Chehab	  the buffers can use mmap() syscalls.
1644021053eSMauro Carvalho Chehab
1654021053eSMauro Carvalho Chehab	  Support for it is experimental. Use with care. If unsure,
1664021053eSMauro Carvalho Chehab	  say N.
1674021053eSMauro Carvalho Chehab
168a34ff6cdSHans Petter Selaskyconfig DVB_NET
169a34ff6cdSHans Petter Selasky	bool "DVB Network Support"
170a34ff6cdSHans Petter Selasky	default (NET && INET)
1718c528d5eSGuennadi Liakhovetski	depends on NET && INET && DVB_CORE
172a34ff6cdSHans Petter Selasky	help
1739a78efc8SJiri Slaby	  This option enables DVB Network Support which is a part of the DVB
1749a78efc8SJiri Slaby	  standard. It is used, for example, by automatic firmware updates used
1759a78efc8SJiri Slaby	  on Set-Top-Boxes. It can also be used to access the Internet via the
1769a78efc8SJiri Slaby	  DVB card, if the network provider supports it.
177a34ff6cdSHans Petter Selasky
1789a78efc8SJiri Slaby	  You may want to disable the network support on embedded devices. If
1799a78efc8SJiri Slaby	  unsure say Y.
180a34ff6cdSHans Petter Selasky
1815d92bbe6SMauro Carvalho Chehab# This Kconfig option is used by both PCI and USB drivers
1825d92bbe6SMauro Carvalho Chehabconfig TTPCI_EEPROM
1835d92bbe6SMauro Carvalho Chehab	tristate
1845d92bbe6SMauro Carvalho Chehab	depends on I2C
1855d92bbe6SMauro Carvalho Chehab
186f0af8fa4SMauro Carvalho Chehabsource "drivers/media/dvb-core/Kconfig"
187f0af8fa4SMauro Carvalho Chehab
188c455f5c8SMauro Carvalho Chehabcomment "Media drivers"
1897c91f062SMauro Carvalho Chehab
190786baecfSMauro Carvalho Chehabsource "drivers/media/usb/Kconfig"
1913c8c09b5SMauro Carvalho Chehabsource "drivers/media/pci/Kconfig"
19206b93644SMauro Carvalho Chehabsource "drivers/media/radio/Kconfig"
19306b93644SMauro Carvalho Chehab
19406b93644SMauro Carvalho Chehabif MEDIA_PLATFORM_SUPPORT
1953c8c09b5SMauro Carvalho Chehabsource "drivers/media/platform/Kconfig"
1964b32216aSMauro Carvalho Chehabsource "drivers/media/test_drivers/Kconfig"
1970013ca8cSMauro Carvalho Chehabsource "drivers/media/mmc/Kconfig"
19806b93644SMauro Carvalho Chehabendif
1991da177e4SLinus Torvalds
200616300bdSMauro Carvalho Chehabcomment "Supported FireWire (IEEE 1394) Adapters"
201616300bdSMauro Carvalho Chehab	depends on DVB_CORE && FIREWIRE
202616300bdSMauro Carvalho Chehabsource "drivers/media/firewire/Kconfig"
203616300bdSMauro Carvalho Chehab
2043c8c09b5SMauro Carvalho Chehab# Common driver options
2053785bc17SMauro Carvalho Chehabsource "drivers/media/common/Kconfig"
2063785bc17SMauro Carvalho Chehab
2078283a092SHans Verkuilcomment "Media ancillary drivers (tuners, sensors, i2c, spi, frontends)"
2085344fe6eSHans Verkuil
2093c8c09b5SMauro Carvalho Chehab#
2108283a092SHans Verkuil# Ancillary drivers (tuners, i2c, spi, frontends)
2113c8c09b5SMauro Carvalho Chehab#
2123c8c09b5SMauro Carvalho Chehab
213fccea74fSMauro Carvalho Chehabconfig MEDIA_SUBDRV_AUTOSELECT
2148283a092SHans Verkuil	bool "Autoselect ancillary drivers (tuners, sensors, i2c, spi, frontends)"
215435ef148SAntti Palosaari	depends on MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_CAMERA_SUPPORT || MEDIA_SDR_SUPPORT
216347f7a37SMauro Carvalho Chehab	depends on HAS_IOMEM
217347f7a37SMauro Carvalho Chehab	select I2C
218347f7a37SMauro Carvalho Chehab	select I2C_MUX
21924f6f93aSEzequiel Garcia	default y if !EMBEDDED
220fccea74fSMauro Carvalho Chehab	help
2215344fe6eSHans Verkuil	  By default, a media driver auto-selects all possible ancillary
2225344fe6eSHans Verkuil	  devices such as tuners, sensors, video encoders/decoders and
2235344fe6eSHans Verkuil	  frontends, that are used by any of the supported devices.
224fccea74fSMauro Carvalho Chehab
225fccea74fSMauro Carvalho Chehab	  This is generally the right thing to do, except when there
2262c76a12aSMauro Carvalho Chehab	  are strict constraints with regards to the kernel size,
2272c76a12aSMauro Carvalho Chehab	  like on embedded systems.
228fccea74fSMauro Carvalho Chehab
2292c76a12aSMauro Carvalho Chehab	  Use this option with care, as deselecting ancillary drivers which
2302c76a12aSMauro Carvalho Chehab	  are, in fact, necessary will result in the lack of the needed
2312c76a12aSMauro Carvalho Chehab	  functionality for your device (it may not tune or may not have
2325344fe6eSHans Verkuil	  the needed demodulators).
233fccea74fSMauro Carvalho Chehab
234fccea74fSMauro Carvalho Chehab	  If unsure say Y.
235bb69ee27SMauro Carvalho Chehab
2364fa4ef39SEzequiel Garciaconfig MEDIA_HIDE_ANCILLARY_SUBDRV
2374fa4ef39SEzequiel Garcia	bool
2384fa4ef39SEzequiel Garcia	depends on MEDIA_SUBDRV_AUTOSELECT && !COMPILE_TEST && !EXPERT
2394fa4ef39SEzequiel Garcia	default y
2404fa4ef39SEzequiel Garcia
241bb69ee27SMauro Carvalho Chehabconfig MEDIA_ATTACH
242bb69ee27SMauro Carvalho Chehab	bool
243bb69ee27SMauro Carvalho Chehab	depends on MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_RADIO_SUPPORT
244bb69ee27SMauro Carvalho Chehab	depends on MODULES
245bb69ee27SMauro Carvalho Chehab	default MODULES
246fccea74fSMauro Carvalho Chehab
2473c8c09b5SMauro Carvalho Chehabsource "drivers/media/i2c/Kconfig"
2488283a092SHans Verkuilsource "drivers/media/spi/Kconfig"
249fccea74fSMauro Carvalho Chehabsource "drivers/media/tuners/Kconfig"
2503c8c09b5SMauro Carvalho Chehabsource "drivers/media/dvb-frontends/Kconfig"
2513c8c09b5SMauro Carvalho Chehab
252ab482a6cSRandy Dunlapendif # MEDIA_SUPPORT
253