xref: /openbmc/linux/drivers/media/Kconfig (revision 8283a092)
11da177e4SLinus Torvalds#
21da177e4SLinus Torvalds# Multimedia device configuration
31da177e4SLinus Torvalds#
41da177e4SLinus Torvalds
5ab482a6cSRandy Dunlapmenuconfig MEDIA_SUPPORT
6ab482a6cSRandy Dunlap	tristate "Multimedia support"
7e25df120SMartin Schwidefsky	depends on HAS_IOMEM
8ab482a6cSRandy Dunlap	help
9b4c184e5SMauro Carvalho Chehab	  If you want to use Webcams, Video grabber devices and/or TV devices
10ab482a6cSRandy Dunlap	  enable this option and other options below.
11b4c184e5SMauro Carvalho Chehab	  Additional info and docs are available on the web at
12991ce92fSMauro Carvalho Chehab	  <https://linuxtv.org>
13ab482a6cSRandy Dunlap
14ab482a6cSRandy Dunlapif MEDIA_SUPPORT
151da177e4SLinus Torvalds
167c91f062SMauro Carvalho Chehabcomment "Multimedia core support"
177c91f062SMauro Carvalho Chehab
187c91f062SMauro Carvalho Chehab#
19b4c184e5SMauro Carvalho Chehab# Multimedia support - automatically enable V4L2 and DVB core
20b4c184e5SMauro Carvalho Chehab#
21b4c184e5SMauro Carvalho Chehabconfig MEDIA_CAMERA_SUPPORT
22b4c184e5SMauro Carvalho Chehab	bool "Cameras/video grabbers support"
23b4c184e5SMauro Carvalho Chehab	---help---
24b4c184e5SMauro Carvalho Chehab	  Enable support for webcams and video grabbers.
25b4c184e5SMauro Carvalho Chehab
26b4c184e5SMauro Carvalho Chehab	  Say Y when you have a webcam or a video capture grabber board.
27b4c184e5SMauro Carvalho Chehab
28b4c184e5SMauro Carvalho Chehabconfig MEDIA_ANALOG_TV_SUPPORT
29b4c184e5SMauro Carvalho Chehab	bool "Analog TV support"
30b4c184e5SMauro Carvalho Chehab	---help---
31b4c184e5SMauro Carvalho Chehab	  Enable analog TV support.
32b4c184e5SMauro Carvalho Chehab
33b4c184e5SMauro Carvalho Chehab	  Say Y when you have a TV board with analog support or with a
34b4c184e5SMauro Carvalho Chehab	  hybrid analog/digital TV chipset.
35b4c184e5SMauro Carvalho Chehab
36b4c184e5SMauro Carvalho Chehab	  Note: There are several DVB cards that are based on chips that
37b4c184e5SMauro Carvalho Chehab		support both analog and digital TV. Disabling this option
38b4c184e5SMauro Carvalho Chehab		will disable support for them.
39b4c184e5SMauro Carvalho Chehab
40b4c184e5SMauro Carvalho Chehabconfig MEDIA_DIGITAL_TV_SUPPORT
41b4c184e5SMauro Carvalho Chehab	bool "Digital TV support"
42b4c184e5SMauro Carvalho Chehab	---help---
43b4c184e5SMauro Carvalho Chehab	  Enable digital TV support.
44b4c184e5SMauro Carvalho Chehab
45b4c184e5SMauro Carvalho Chehab	  Say Y when you have a board with digital support or a board with
46b4c184e5SMauro Carvalho Chehab	  hybrid digital TV and analog TV.
47b4c184e5SMauro Carvalho Chehab
48b4c184e5SMauro Carvalho Chehabconfig MEDIA_RADIO_SUPPORT
49b4c184e5SMauro Carvalho Chehab	bool "AM/FM radio receivers/transmitters support"
50b4c184e5SMauro Carvalho Chehab	---help---
51b4c184e5SMauro Carvalho Chehab	  Enable AM/FM radio support.
52b4c184e5SMauro Carvalho Chehab
53b4c184e5SMauro Carvalho Chehab	  Additional info and docs are available on the web at
54991ce92fSMauro Carvalho Chehab	  <https://linuxtv.org>
55b4c184e5SMauro Carvalho Chehab
56b4c184e5SMauro Carvalho Chehab	  Say Y when you have a board with radio support.
57b4c184e5SMauro Carvalho Chehab
58b4c184e5SMauro Carvalho Chehab	  Note: There are several TV cards that are based on chips that
59b4c184e5SMauro Carvalho Chehab		support radio reception. Disabling this option will
60b4c184e5SMauro Carvalho Chehab		disable support for them.
61b4c184e5SMauro Carvalho Chehab
62435ef148SAntti Palosaariconfig MEDIA_SDR_SUPPORT
63435ef148SAntti Palosaari	bool "Software defined radio support"
64435ef148SAntti Palosaari	---help---
65435ef148SAntti Palosaari	  Enable software defined radio support.
66435ef148SAntti Palosaari
67435ef148SAntti Palosaari	  Say Y when you have a software defined radio device.
68435ef148SAntti Palosaari
69c455f5c8SMauro Carvalho Chehabconfig MEDIA_RC_SUPPORT
70b4c184e5SMauro Carvalho Chehab	bool "Remote Controller support"
71b4c184e5SMauro Carvalho Chehab	depends on INPUT
72b4c184e5SMauro Carvalho Chehab	---help---
73b4c184e5SMauro Carvalho Chehab	  Enable support for Remote Controllers on Linux. This is
74b4c184e5SMauro Carvalho Chehab	  needed in order to support several video capture adapters,
75b4c184e5SMauro Carvalho Chehab	  standalone IR receivers/transmitters, and RF receivers.
76b4c184e5SMauro Carvalho Chehab
77b4c184e5SMauro Carvalho Chehab	  Enable this option if you have a video capture board even
78b4c184e5SMauro Carvalho Chehab	  if you don't need IR, as otherwise, you may not be able to
79b4c184e5SMauro Carvalho Chehab	  compile the driver for your adapter.
80b4c184e5SMauro Carvalho Chehab
81b4c184e5SMauro Carvalho Chehab	  Say Y when you have a TV or an IR device.
82b4c184e5SMauro Carvalho Chehab
8329fb44a5SHans Verkuilconfig MEDIA_CEC_EDID
845bb2399aSHans Verkuil	bool
8529fb44a5SHans Verkuil
86b4c184e5SMauro Carvalho Chehab#
87cf4b9211SLaurent Pinchart# Media controller
88b4c184e5SMauro Carvalho Chehab#	Selectable only for webcam/grabbers, as other drivers don't use it
89cf4b9211SLaurent Pinchart#
90cf4b9211SLaurent Pinchart
91cf4b9211SLaurent Pinchartconfig MEDIA_CONTROLLER
9251e8cb74SKees Cook	bool "Media Controller API"
93a0246e02SMauro Carvalho Chehab	depends on MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT
94cf4b9211SLaurent Pinchart	---help---
95cf4b9211SLaurent Pinchart	  Enable the media controller API used to query media devices internal
96cf4b9211SLaurent Pinchart	  topology and configure it dynamically.
97cf4b9211SLaurent Pinchart
98cf4b9211SLaurent Pinchart	  This API is mostly used by camera interfaces in embedded platforms.
99cf4b9211SLaurent Pinchart
100a0246e02SMauro Carvalho Chehabconfig MEDIA_CONTROLLER_DVB
101c3f22501SMauro Carvalho Chehab	bool "Enable Media controller for DVB (EXPERIMENTAL)"
102a0246e02SMauro Carvalho Chehab	depends on MEDIA_CONTROLLER
103a0246e02SMauro Carvalho Chehab	---help---
104a0246e02SMauro Carvalho Chehab	  Enable the media controller API support for DVB.
105a0246e02SMauro Carvalho Chehab
106a0246e02SMauro Carvalho Chehab	  This is currently experimental.
107a0246e02SMauro Carvalho Chehab
108cf4b9211SLaurent Pinchart#
109b4c184e5SMauro Carvalho Chehab# Video4Linux support
110b4c184e5SMauro Carvalho Chehab#	Only enables if one of the V4L2 types (ATV, webcam, radio) is selected
1117c91f062SMauro Carvalho Chehab#
1127c91f062SMauro Carvalho Chehab
1131da177e4SLinus Torvaldsconfig VIDEO_DEV
114b4c184e5SMauro Carvalho Chehab	tristate
115b4c184e5SMauro Carvalho Chehab	depends on MEDIA_SUPPORT
116435ef148SAntti Palosaari	depends on MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_RADIO_SUPPORT || MEDIA_SDR_SUPPORT
117b4c184e5SMauro Carvalho Chehab	default y
1181da177e4SLinus Torvalds
1197cd5a16bSStanimir Varbanovconfig VIDEO_V4L2_SUBDEV_API
12051e8cb74SKees Cook	bool "V4L2 sub-device userspace API"
12151e8cb74SKees Cook	depends on VIDEO_DEV && MEDIA_CONTROLLER
1227cd5a16bSStanimir Varbanov	---help---
1237cd5a16bSStanimir Varbanov	  Enables the V4L2 sub-device pad-level userspace API used to configure
1247cd5a16bSStanimir Varbanov	  video format, size and frame rate between hardware blocks.
1257cd5a16bSStanimir Varbanov
1267cd5a16bSStanimir Varbanov	  This API is mostly used by camera interfaces in embedded platforms.
1277cd5a16bSStanimir Varbanov
128f0af8fa4SMauro Carvalho Chehabsource "drivers/media/v4l2-core/Kconfig"
129f0af8fa4SMauro Carvalho Chehab
1307c91f062SMauro Carvalho Chehab#
1317c91f062SMauro Carvalho Chehab# DVB Core
132b4c184e5SMauro Carvalho Chehab#	Only enables if one of DTV is selected
1337c91f062SMauro Carvalho Chehab#
134cd41e28eSMauro Carvalho Chehab
1357c91f062SMauro Carvalho Chehabconfig DVB_CORE
136b4c184e5SMauro Carvalho Chehab	tristate
137b4c184e5SMauro Carvalho Chehab	depends on MEDIA_SUPPORT
138b4c184e5SMauro Carvalho Chehab	depends on MEDIA_DIGITAL_TV_SUPPORT
139b4c184e5SMauro Carvalho Chehab	default y
1407c91f062SMauro Carvalho Chehab	select CRC32
1417c91f062SMauro Carvalho Chehab
142a34ff6cdSHans Petter Selaskyconfig DVB_NET
143a34ff6cdSHans Petter Selasky	bool "DVB Network Support"
144a34ff6cdSHans Petter Selasky	default (NET && INET)
1458c528d5eSGuennadi Liakhovetski	depends on NET && INET && DVB_CORE
146a34ff6cdSHans Petter Selasky	help
1479a78efc8SJiri Slaby	  This option enables DVB Network Support which is a part of the DVB
1489a78efc8SJiri Slaby	  standard. It is used, for example, by automatic firmware updates used
1499a78efc8SJiri Slaby	  on Set-Top-Boxes. It can also be used to access the Internet via the
1509a78efc8SJiri Slaby	  DVB card, if the network provider supports it.
151a34ff6cdSHans Petter Selasky
1529a78efc8SJiri Slaby	  You may want to disable the network support on embedded devices. If
1539a78efc8SJiri Slaby	  unsure say Y.
154a34ff6cdSHans Petter Selasky
1555d92bbe6SMauro Carvalho Chehab# This Kconfig option is used by both PCI and USB drivers
1565d92bbe6SMauro Carvalho Chehabconfig TTPCI_EEPROM
1575d92bbe6SMauro Carvalho Chehab	tristate
1585d92bbe6SMauro Carvalho Chehab	depends on I2C
1595d92bbe6SMauro Carvalho Chehab	default n
1605d92bbe6SMauro Carvalho Chehab
161f0af8fa4SMauro Carvalho Chehabsource "drivers/media/dvb-core/Kconfig"
162f0af8fa4SMauro Carvalho Chehab
163c455f5c8SMauro Carvalho Chehabcomment "Media drivers"
16432cf86f6SMauro Carvalho Chehabsource "drivers/media/rc/Kconfig"
1657c91f062SMauro Carvalho Chehab
1667c91f062SMauro Carvalho Chehab#
167cb7a01acSMauro Carvalho Chehab# V4L platform/mem2mem drivers
168cb7a01acSMauro Carvalho Chehab#
1691da177e4SLinus Torvalds
170786baecfSMauro Carvalho Chehabsource "drivers/media/usb/Kconfig"
1713c8c09b5SMauro Carvalho Chehabsource "drivers/media/pci/Kconfig"
1723c8c09b5SMauro Carvalho Chehabsource "drivers/media/platform/Kconfig"
1730013ca8cSMauro Carvalho Chehabsource "drivers/media/mmc/Kconfig"
1743c8c09b5SMauro Carvalho Chehabsource "drivers/media/radio/Kconfig"
1751da177e4SLinus Torvalds
176616300bdSMauro Carvalho Chehabcomment "Supported FireWire (IEEE 1394) Adapters"
177616300bdSMauro Carvalho Chehab	depends on DVB_CORE && FIREWIRE
178616300bdSMauro Carvalho Chehabsource "drivers/media/firewire/Kconfig"
179616300bdSMauro Carvalho Chehab
1803c8c09b5SMauro Carvalho Chehab# Common driver options
1813785bc17SMauro Carvalho Chehabsource "drivers/media/common/Kconfig"
1823785bc17SMauro Carvalho Chehab
1838283a092SHans Verkuilcomment "Media ancillary drivers (tuners, sensors, i2c, spi, frontends)"
1845344fe6eSHans Verkuil
1853c8c09b5SMauro Carvalho Chehab#
1868283a092SHans Verkuil# Ancillary drivers (tuners, i2c, spi, frontends)
1873c8c09b5SMauro Carvalho Chehab#
1883c8c09b5SMauro Carvalho Chehab
189fccea74fSMauro Carvalho Chehabconfig MEDIA_SUBDRV_AUTOSELECT
1908283a092SHans Verkuil	bool "Autoselect ancillary drivers (tuners, sensors, i2c, spi, frontends)"
191435ef148SAntti Palosaari	depends on MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_CAMERA_SUPPORT || MEDIA_SDR_SUPPORT
192347f7a37SMauro Carvalho Chehab	depends on HAS_IOMEM
193347f7a37SMauro Carvalho Chehab	select I2C
194347f7a37SMauro Carvalho Chehab	select I2C_MUX
195fccea74fSMauro Carvalho Chehab	default y
196fccea74fSMauro Carvalho Chehab	help
1975344fe6eSHans Verkuil	  By default, a media driver auto-selects all possible ancillary
1985344fe6eSHans Verkuil	  devices such as tuners, sensors, video encoders/decoders and
1995344fe6eSHans Verkuil	  frontends, that are used by any of the supported devices.
200fccea74fSMauro Carvalho Chehab
201fccea74fSMauro Carvalho Chehab	  This is generally the right thing to do, except when there
2022c76a12aSMauro Carvalho Chehab	  are strict constraints with regards to the kernel size,
2032c76a12aSMauro Carvalho Chehab	  like on embedded systems.
204fccea74fSMauro Carvalho Chehab
2052c76a12aSMauro Carvalho Chehab	  Use this option with care, as deselecting ancillary drivers which
2062c76a12aSMauro Carvalho Chehab	  are, in fact, necessary will result in the lack of the needed
2072c76a12aSMauro Carvalho Chehab	  functionality for your device (it may not tune or may not have
2085344fe6eSHans Verkuil	  the needed demodulators).
209fccea74fSMauro Carvalho Chehab
210fccea74fSMauro Carvalho Chehab	  If unsure say Y.
211bb69ee27SMauro Carvalho Chehab
212bb69ee27SMauro Carvalho Chehabconfig MEDIA_ATTACH
213bb69ee27SMauro Carvalho Chehab	bool
214bb69ee27SMauro Carvalho Chehab	depends on MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_RADIO_SUPPORT
215bb69ee27SMauro Carvalho Chehab	depends on MODULES
216bb69ee27SMauro Carvalho Chehab	default MODULES
217fccea74fSMauro Carvalho Chehab
2183c8c09b5SMauro Carvalho Chehabsource "drivers/media/i2c/Kconfig"
2198283a092SHans Verkuilsource "drivers/media/spi/Kconfig"
220fccea74fSMauro Carvalho Chehabsource "drivers/media/tuners/Kconfig"
2213c8c09b5SMauro Carvalho Chehabsource "drivers/media/dvb-frontends/Kconfig"
2223c8c09b5SMauro Carvalho Chehab
223ab482a6cSRandy Dunlapendif # MEDIA_SUPPORT
224