xref: /openbmc/linux/drivers/media/Kconfig (revision 6917a7b7)
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
830dbacebeSHans Verkuilconfig MEDIA_CEC_SUPPORT
840dbacebeSHans Verkuil	bool "HDMI CEC support"
850dbacebeSHans Verkuil	select MEDIA_CEC_EDID
860dbacebeSHans Verkuil	---help---
870dbacebeSHans Verkuil	  Enable support for HDMI CEC (Consumer Electronics Control),
880dbacebeSHans Verkuil	  which is an optional HDMI feature.
890dbacebeSHans Verkuil
900dbacebeSHans Verkuil	  Say Y when you have an HDMI receiver, transmitter or a USB CEC
910dbacebeSHans Verkuil	  adapter that supports HDMI CEC.
920dbacebeSHans Verkuil
930dbacebeSHans Verkuilconfig MEDIA_CEC_DEBUG
940dbacebeSHans Verkuil	bool "HDMI CEC debugfs interface"
950dbacebeSHans Verkuil	depends on MEDIA_CEC_SUPPORT && DEBUG_FS
960dbacebeSHans Verkuil	---help---
970dbacebeSHans Verkuil	  Turns on the DebugFS interface for CEC devices.
980dbacebeSHans Verkuil
9929fb44a5SHans Verkuilconfig MEDIA_CEC_EDID
1005bb2399aSHans Verkuil	bool
10129fb44a5SHans Verkuil
102*6917a7b7SHans Verkuilconfig MEDIA_CEC_NOTIFIER
103*6917a7b7SHans Verkuil	bool
104*6917a7b7SHans Verkuil	select MEDIA_CEC_EDID
105*6917a7b7SHans Verkuil
106b4c184e5SMauro Carvalho Chehab#
107cf4b9211SLaurent Pinchart# Media controller
108b4c184e5SMauro Carvalho Chehab#	Selectable only for webcam/grabbers, as other drivers don't use it
109cf4b9211SLaurent Pinchart#
110cf4b9211SLaurent Pinchart
111cf4b9211SLaurent Pinchartconfig MEDIA_CONTROLLER
11251e8cb74SKees Cook	bool "Media Controller API"
113a0246e02SMauro Carvalho Chehab	depends on MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT
114cf4b9211SLaurent Pinchart	---help---
115cf4b9211SLaurent Pinchart	  Enable the media controller API used to query media devices internal
116cf4b9211SLaurent Pinchart	  topology and configure it dynamically.
117cf4b9211SLaurent Pinchart
118cf4b9211SLaurent Pinchart	  This API is mostly used by camera interfaces in embedded platforms.
119cf4b9211SLaurent Pinchart
120a0246e02SMauro Carvalho Chehabconfig MEDIA_CONTROLLER_DVB
121c3f22501SMauro Carvalho Chehab	bool "Enable Media controller for DVB (EXPERIMENTAL)"
122a4afb3edSMauro Carvalho Chehab	depends on MEDIA_CONTROLLER && DVB_CORE
123a0246e02SMauro Carvalho Chehab	---help---
124a0246e02SMauro Carvalho Chehab	  Enable the media controller API support for DVB.
125a0246e02SMauro Carvalho Chehab
126a0246e02SMauro Carvalho Chehab	  This is currently experimental.
127a0246e02SMauro Carvalho Chehab
128cf4b9211SLaurent Pinchart#
129b4c184e5SMauro Carvalho Chehab# Video4Linux support
130b4c184e5SMauro Carvalho Chehab#	Only enables if one of the V4L2 types (ATV, webcam, radio) is selected
1317c91f062SMauro Carvalho Chehab#
1327c91f062SMauro Carvalho Chehab
1331da177e4SLinus Torvaldsconfig VIDEO_DEV
134b4c184e5SMauro Carvalho Chehab	tristate
135b4c184e5SMauro Carvalho Chehab	depends on MEDIA_SUPPORT
136435ef148SAntti Palosaari	depends on MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_RADIO_SUPPORT || MEDIA_SDR_SUPPORT
137b4c184e5SMauro Carvalho Chehab	default y
1381da177e4SLinus Torvalds
1397cd5a16bSStanimir Varbanovconfig VIDEO_V4L2_SUBDEV_API
14051e8cb74SKees Cook	bool "V4L2 sub-device userspace API"
14151e8cb74SKees Cook	depends on VIDEO_DEV && MEDIA_CONTROLLER
1427cd5a16bSStanimir Varbanov	---help---
1437cd5a16bSStanimir Varbanov	  Enables the V4L2 sub-device pad-level userspace API used to configure
1447cd5a16bSStanimir Varbanov	  video format, size and frame rate between hardware blocks.
1457cd5a16bSStanimir Varbanov
1467cd5a16bSStanimir Varbanov	  This API is mostly used by camera interfaces in embedded platforms.
1477cd5a16bSStanimir Varbanov
148f0af8fa4SMauro Carvalho Chehabsource "drivers/media/v4l2-core/Kconfig"
149f0af8fa4SMauro Carvalho Chehab
1507c91f062SMauro Carvalho Chehab#
1517c91f062SMauro Carvalho Chehab# DVB Core
152b4c184e5SMauro Carvalho Chehab#	Only enables if one of DTV is selected
1537c91f062SMauro Carvalho Chehab#
154cd41e28eSMauro Carvalho Chehab
1557c91f062SMauro Carvalho Chehabconfig DVB_CORE
156b4c184e5SMauro Carvalho Chehab	tristate
157b4c184e5SMauro Carvalho Chehab	depends on MEDIA_SUPPORT
158b4c184e5SMauro Carvalho Chehab	depends on MEDIA_DIGITAL_TV_SUPPORT
159b4c184e5SMauro Carvalho Chehab	default y
1607c91f062SMauro Carvalho Chehab	select CRC32
1617c91f062SMauro Carvalho Chehab
162a34ff6cdSHans Petter Selaskyconfig DVB_NET
163a34ff6cdSHans Petter Selasky	bool "DVB Network Support"
164a34ff6cdSHans Petter Selasky	default (NET && INET)
1658c528d5eSGuennadi Liakhovetski	depends on NET && INET && DVB_CORE
166a34ff6cdSHans Petter Selasky	help
1679a78efc8SJiri Slaby	  This option enables DVB Network Support which is a part of the DVB
1689a78efc8SJiri Slaby	  standard. It is used, for example, by automatic firmware updates used
1699a78efc8SJiri Slaby	  on Set-Top-Boxes. It can also be used to access the Internet via the
1709a78efc8SJiri Slaby	  DVB card, if the network provider supports it.
171a34ff6cdSHans Petter Selasky
1729a78efc8SJiri Slaby	  You may want to disable the network support on embedded devices. If
1739a78efc8SJiri Slaby	  unsure say Y.
174a34ff6cdSHans Petter Selasky
1755d92bbe6SMauro Carvalho Chehab# This Kconfig option is used by both PCI and USB drivers
1765d92bbe6SMauro Carvalho Chehabconfig TTPCI_EEPROM
1775d92bbe6SMauro Carvalho Chehab	tristate
1785d92bbe6SMauro Carvalho Chehab	depends on I2C
1795d92bbe6SMauro Carvalho Chehab	default n
1805d92bbe6SMauro Carvalho Chehab
181f0af8fa4SMauro Carvalho Chehabsource "drivers/media/dvb-core/Kconfig"
182f0af8fa4SMauro Carvalho Chehab
183c455f5c8SMauro Carvalho Chehabcomment "Media drivers"
18432cf86f6SMauro Carvalho Chehabsource "drivers/media/rc/Kconfig"
1857c91f062SMauro Carvalho Chehab
1867c91f062SMauro Carvalho Chehab#
187cb7a01acSMauro Carvalho Chehab# V4L platform/mem2mem drivers
188cb7a01acSMauro Carvalho Chehab#
1891da177e4SLinus Torvalds
190786baecfSMauro Carvalho Chehabsource "drivers/media/usb/Kconfig"
1913c8c09b5SMauro Carvalho Chehabsource "drivers/media/pci/Kconfig"
1923c8c09b5SMauro Carvalho Chehabsource "drivers/media/platform/Kconfig"
1930013ca8cSMauro Carvalho Chehabsource "drivers/media/mmc/Kconfig"
1943c8c09b5SMauro Carvalho Chehabsource "drivers/media/radio/Kconfig"
1951da177e4SLinus Torvalds
196616300bdSMauro Carvalho Chehabcomment "Supported FireWire (IEEE 1394) Adapters"
197616300bdSMauro Carvalho Chehab	depends on DVB_CORE && FIREWIRE
198616300bdSMauro Carvalho Chehabsource "drivers/media/firewire/Kconfig"
199616300bdSMauro Carvalho Chehab
2003c8c09b5SMauro Carvalho Chehab# Common driver options
2013785bc17SMauro Carvalho Chehabsource "drivers/media/common/Kconfig"
2023785bc17SMauro Carvalho Chehab
2038283a092SHans Verkuilcomment "Media ancillary drivers (tuners, sensors, i2c, spi, frontends)"
2045344fe6eSHans Verkuil
2053c8c09b5SMauro Carvalho Chehab#
2068283a092SHans Verkuil# Ancillary drivers (tuners, i2c, spi, frontends)
2073c8c09b5SMauro Carvalho Chehab#
2083c8c09b5SMauro Carvalho Chehab
209fccea74fSMauro Carvalho Chehabconfig MEDIA_SUBDRV_AUTOSELECT
2108283a092SHans Verkuil	bool "Autoselect ancillary drivers (tuners, sensors, i2c, spi, frontends)"
211435ef148SAntti Palosaari	depends on MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_CAMERA_SUPPORT || MEDIA_SDR_SUPPORT
212347f7a37SMauro Carvalho Chehab	depends on HAS_IOMEM
213347f7a37SMauro Carvalho Chehab	select I2C
214347f7a37SMauro Carvalho Chehab	select I2C_MUX
215fccea74fSMauro Carvalho Chehab	default y
216fccea74fSMauro Carvalho Chehab	help
2175344fe6eSHans Verkuil	  By default, a media driver auto-selects all possible ancillary
2185344fe6eSHans Verkuil	  devices such as tuners, sensors, video encoders/decoders and
2195344fe6eSHans Verkuil	  frontends, that are used by any of the supported devices.
220fccea74fSMauro Carvalho Chehab
221fccea74fSMauro Carvalho Chehab	  This is generally the right thing to do, except when there
2222c76a12aSMauro Carvalho Chehab	  are strict constraints with regards to the kernel size,
2232c76a12aSMauro Carvalho Chehab	  like on embedded systems.
224fccea74fSMauro Carvalho Chehab
2252c76a12aSMauro Carvalho Chehab	  Use this option with care, as deselecting ancillary drivers which
2262c76a12aSMauro Carvalho Chehab	  are, in fact, necessary will result in the lack of the needed
2272c76a12aSMauro Carvalho Chehab	  functionality for your device (it may not tune or may not have
2285344fe6eSHans Verkuil	  the needed demodulators).
229fccea74fSMauro Carvalho Chehab
230fccea74fSMauro Carvalho Chehab	  If unsure say Y.
231bb69ee27SMauro Carvalho Chehab
232bb69ee27SMauro Carvalho Chehabconfig MEDIA_ATTACH
233bb69ee27SMauro Carvalho Chehab	bool
234bb69ee27SMauro Carvalho Chehab	depends on MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_RADIO_SUPPORT
235bb69ee27SMauro Carvalho Chehab	depends on MODULES
236bb69ee27SMauro Carvalho Chehab	default MODULES
237fccea74fSMauro Carvalho Chehab
2383c8c09b5SMauro Carvalho Chehabsource "drivers/media/i2c/Kconfig"
2398283a092SHans Verkuilsource "drivers/media/spi/Kconfig"
240fccea74fSMauro Carvalho Chehabsource "drivers/media/tuners/Kconfig"
2413c8c09b5SMauro Carvalho Chehabsource "drivers/media/dvb-frontends/Kconfig"
2423c8c09b5SMauro Carvalho Chehab
243ab482a6cSRandy Dunlapendif # MEDIA_SUPPORT
244