xref: /openbmc/linux/drivers/media/Kconfig (revision e94c3281)
11da177e4SLinus Torvalds#
21da177e4SLinus Torvalds# Multimedia device configuration
31da177e4SLinus Torvalds#
41da177e4SLinus Torvalds
59177e51dSHans Verkuilconfig CEC_CORE
69177e51dSHans Verkuil	tristate
79177e51dSHans Verkuil
8e94c3281SHans Verkuilconfig CEC_NOTIFIER
99177e51dSHans Verkuil	bool
109177e51dSHans Verkuil
11ab482a6cSRandy Dunlapmenuconfig MEDIA_SUPPORT
12ab482a6cSRandy Dunlap	tristate "Multimedia support"
13e25df120SMartin Schwidefsky	depends on HAS_IOMEM
14ab482a6cSRandy Dunlap	help
15b4c184e5SMauro Carvalho Chehab	  If you want to use Webcams, Video grabber devices and/or TV devices
16ab482a6cSRandy Dunlap	  enable this option and other options below.
17b4c184e5SMauro Carvalho Chehab	  Additional info and docs are available on the web at
18991ce92fSMauro Carvalho Chehab	  <https://linuxtv.org>
19ab482a6cSRandy Dunlap
20ab482a6cSRandy Dunlapif MEDIA_SUPPORT
211da177e4SLinus Torvalds
227c91f062SMauro Carvalho Chehabcomment "Multimedia core support"
237c91f062SMauro Carvalho Chehab
247c91f062SMauro Carvalho Chehab#
25b4c184e5SMauro Carvalho Chehab# Multimedia support - automatically enable V4L2 and DVB core
26b4c184e5SMauro Carvalho Chehab#
27b4c184e5SMauro Carvalho Chehabconfig MEDIA_CAMERA_SUPPORT
28b4c184e5SMauro Carvalho Chehab	bool "Cameras/video grabbers support"
29b4c184e5SMauro Carvalho Chehab	---help---
30b4c184e5SMauro Carvalho Chehab	  Enable support for webcams and video grabbers.
31b4c184e5SMauro Carvalho Chehab
32b4c184e5SMauro Carvalho Chehab	  Say Y when you have a webcam or a video capture grabber board.
33b4c184e5SMauro Carvalho Chehab
34b4c184e5SMauro Carvalho Chehabconfig MEDIA_ANALOG_TV_SUPPORT
35b4c184e5SMauro Carvalho Chehab	bool "Analog TV support"
36b4c184e5SMauro Carvalho Chehab	---help---
37b4c184e5SMauro Carvalho Chehab	  Enable analog TV support.
38b4c184e5SMauro Carvalho Chehab
39b4c184e5SMauro Carvalho Chehab	  Say Y when you have a TV board with analog support or with a
40b4c184e5SMauro Carvalho Chehab	  hybrid analog/digital TV chipset.
41b4c184e5SMauro Carvalho Chehab
42b4c184e5SMauro Carvalho Chehab	  Note: There are several DVB cards that are based on chips that
43b4c184e5SMauro Carvalho Chehab		support both analog and digital TV. Disabling this option
44b4c184e5SMauro Carvalho Chehab		will disable support for them.
45b4c184e5SMauro Carvalho Chehab
46b4c184e5SMauro Carvalho Chehabconfig MEDIA_DIGITAL_TV_SUPPORT
47b4c184e5SMauro Carvalho Chehab	bool "Digital TV support"
48b4c184e5SMauro Carvalho Chehab	---help---
49b4c184e5SMauro Carvalho Chehab	  Enable digital TV support.
50b4c184e5SMauro Carvalho Chehab
51b4c184e5SMauro Carvalho Chehab	  Say Y when you have a board with digital support or a board with
52b4c184e5SMauro Carvalho Chehab	  hybrid digital TV and analog TV.
53b4c184e5SMauro Carvalho Chehab
54b4c184e5SMauro Carvalho Chehabconfig MEDIA_RADIO_SUPPORT
55b4c184e5SMauro Carvalho Chehab	bool "AM/FM radio receivers/transmitters support"
56b4c184e5SMauro Carvalho Chehab	---help---
57b4c184e5SMauro Carvalho Chehab	  Enable AM/FM radio support.
58b4c184e5SMauro Carvalho Chehab
59b4c184e5SMauro Carvalho Chehab	  Additional info and docs are available on the web at
60991ce92fSMauro Carvalho Chehab	  <https://linuxtv.org>
61b4c184e5SMauro Carvalho Chehab
62b4c184e5SMauro Carvalho Chehab	  Say Y when you have a board with radio support.
63b4c184e5SMauro Carvalho Chehab
64b4c184e5SMauro Carvalho Chehab	  Note: There are several TV cards that are based on chips that
65b4c184e5SMauro Carvalho Chehab		support radio reception. Disabling this option will
66b4c184e5SMauro Carvalho Chehab		disable support for them.
67b4c184e5SMauro Carvalho Chehab
68435ef148SAntti Palosaariconfig MEDIA_SDR_SUPPORT
69435ef148SAntti Palosaari	bool "Software defined radio support"
70435ef148SAntti Palosaari	---help---
71435ef148SAntti Palosaari	  Enable software defined radio support.
72435ef148SAntti Palosaari
73435ef148SAntti Palosaari	  Say Y when you have a software defined radio device.
74435ef148SAntti Palosaari
75c455f5c8SMauro Carvalho Chehabconfig MEDIA_RC_SUPPORT
76b4c184e5SMauro Carvalho Chehab	bool "Remote Controller support"
77b4c184e5SMauro Carvalho Chehab	depends on INPUT
78b4c184e5SMauro Carvalho Chehab	---help---
79b4c184e5SMauro Carvalho Chehab	  Enable support for Remote Controllers on Linux. This is
80b4c184e5SMauro Carvalho Chehab	  needed in order to support several video capture adapters,
81b4c184e5SMauro Carvalho Chehab	  standalone IR receivers/transmitters, and RF receivers.
82b4c184e5SMauro Carvalho Chehab
83b4c184e5SMauro Carvalho Chehab	  Enable this option if you have a video capture board even
84b4c184e5SMauro Carvalho Chehab	  if you don't need IR, as otherwise, you may not be able to
85b4c184e5SMauro Carvalho Chehab	  compile the driver for your adapter.
86b4c184e5SMauro Carvalho Chehab
87b4c184e5SMauro Carvalho Chehab	  Say Y when you have a TV or an IR device.
88b4c184e5SMauro Carvalho Chehab
890dbacebeSHans Verkuilconfig MEDIA_CEC_SUPPORT
900dbacebeSHans Verkuil       bool "HDMI CEC support"
910dbacebeSHans Verkuil       ---help---
920dbacebeSHans Verkuil         Enable support for HDMI CEC (Consumer Electronics Control),
930dbacebeSHans Verkuil         which is an optional HDMI feature.
940dbacebeSHans Verkuil
950dbacebeSHans Verkuil         Say Y when you have an HDMI receiver, transmitter or a USB CEC
960dbacebeSHans Verkuil         adapter that supports HDMI CEC.
970dbacebeSHans Verkuil
9856a263aaSHans Verkuilsource "drivers/media/cec/Kconfig"
996917a7b7SHans Verkuil
100b4c184e5SMauro Carvalho Chehab#
101cf4b9211SLaurent Pinchart# Media controller
102b4c184e5SMauro Carvalho Chehab#	Selectable only for webcam/grabbers, as other drivers don't use it
103cf4b9211SLaurent Pinchart#
104cf4b9211SLaurent Pinchart
105cf4b9211SLaurent Pinchartconfig MEDIA_CONTROLLER
10651e8cb74SKees Cook	bool "Media Controller API"
107a0246e02SMauro Carvalho Chehab	depends on MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT
108cf4b9211SLaurent Pinchart	---help---
109cf4b9211SLaurent Pinchart	  Enable the media controller API used to query media devices internal
110cf4b9211SLaurent Pinchart	  topology and configure it dynamically.
111cf4b9211SLaurent Pinchart
112cf4b9211SLaurent Pinchart	  This API is mostly used by camera interfaces in embedded platforms.
113cf4b9211SLaurent Pinchart
114a0246e02SMauro Carvalho Chehabconfig MEDIA_CONTROLLER_DVB
115c3f22501SMauro Carvalho Chehab	bool "Enable Media controller for DVB (EXPERIMENTAL)"
116a4afb3edSMauro Carvalho Chehab	depends on MEDIA_CONTROLLER && DVB_CORE
117a0246e02SMauro Carvalho Chehab	---help---
118a0246e02SMauro Carvalho Chehab	  Enable the media controller API support for DVB.
119a0246e02SMauro Carvalho Chehab
120a0246e02SMauro Carvalho Chehab	  This is currently experimental.
121a0246e02SMauro Carvalho Chehab
122cf4b9211SLaurent Pinchart#
123b4c184e5SMauro Carvalho Chehab# Video4Linux support
124b4c184e5SMauro Carvalho Chehab#	Only enables if one of the V4L2 types (ATV, webcam, radio) is selected
1257c91f062SMauro Carvalho Chehab#
1267c91f062SMauro Carvalho Chehab
1271da177e4SLinus Torvaldsconfig VIDEO_DEV
128b4c184e5SMauro Carvalho Chehab	tristate
129b4c184e5SMauro Carvalho Chehab	depends on MEDIA_SUPPORT
130435ef148SAntti Palosaari	depends on MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_RADIO_SUPPORT || MEDIA_SDR_SUPPORT
131b4c184e5SMauro Carvalho Chehab	default y
1321da177e4SLinus Torvalds
1337cd5a16bSStanimir Varbanovconfig VIDEO_V4L2_SUBDEV_API
13451e8cb74SKees Cook	bool "V4L2 sub-device userspace API"
13551e8cb74SKees Cook	depends on VIDEO_DEV && MEDIA_CONTROLLER
1367cd5a16bSStanimir Varbanov	---help---
1377cd5a16bSStanimir Varbanov	  Enables the V4L2 sub-device pad-level userspace API used to configure
1387cd5a16bSStanimir Varbanov	  video format, size and frame rate between hardware blocks.
1397cd5a16bSStanimir Varbanov
1407cd5a16bSStanimir Varbanov	  This API is mostly used by camera interfaces in embedded platforms.
1417cd5a16bSStanimir Varbanov
142f0af8fa4SMauro Carvalho Chehabsource "drivers/media/v4l2-core/Kconfig"
143f0af8fa4SMauro Carvalho Chehab
1447c91f062SMauro Carvalho Chehab#
1457c91f062SMauro Carvalho Chehab# DVB Core
146b4c184e5SMauro Carvalho Chehab#	Only enables if one of DTV is selected
1477c91f062SMauro Carvalho Chehab#
148cd41e28eSMauro Carvalho Chehab
1497c91f062SMauro Carvalho Chehabconfig DVB_CORE
150b4c184e5SMauro Carvalho Chehab	tristate
151b4c184e5SMauro Carvalho Chehab	depends on MEDIA_SUPPORT
152b4c184e5SMauro Carvalho Chehab	depends on MEDIA_DIGITAL_TV_SUPPORT
153b4c184e5SMauro Carvalho Chehab	default y
1547c91f062SMauro Carvalho Chehab	select CRC32
1557c91f062SMauro Carvalho Chehab
156a34ff6cdSHans Petter Selaskyconfig DVB_NET
157a34ff6cdSHans Petter Selasky	bool "DVB Network Support"
158a34ff6cdSHans Petter Selasky	default (NET && INET)
1598c528d5eSGuennadi Liakhovetski	depends on NET && INET && DVB_CORE
160a34ff6cdSHans Petter Selasky	help
1619a78efc8SJiri Slaby	  This option enables DVB Network Support which is a part of the DVB
1629a78efc8SJiri Slaby	  standard. It is used, for example, by automatic firmware updates used
1639a78efc8SJiri Slaby	  on Set-Top-Boxes. It can also be used to access the Internet via the
1649a78efc8SJiri Slaby	  DVB card, if the network provider supports it.
165a34ff6cdSHans Petter Selasky
1669a78efc8SJiri Slaby	  You may want to disable the network support on embedded devices. If
1679a78efc8SJiri Slaby	  unsure say Y.
168a34ff6cdSHans Petter Selasky
1695d92bbe6SMauro Carvalho Chehab# This Kconfig option is used by both PCI and USB drivers
1705d92bbe6SMauro Carvalho Chehabconfig TTPCI_EEPROM
1715d92bbe6SMauro Carvalho Chehab	tristate
1725d92bbe6SMauro Carvalho Chehab	depends on I2C
1735d92bbe6SMauro Carvalho Chehab	default n
1745d92bbe6SMauro Carvalho Chehab
175f0af8fa4SMauro Carvalho Chehabsource "drivers/media/dvb-core/Kconfig"
176f0af8fa4SMauro Carvalho Chehab
177c455f5c8SMauro Carvalho Chehabcomment "Media drivers"
17832cf86f6SMauro Carvalho Chehabsource "drivers/media/rc/Kconfig"
1797c91f062SMauro Carvalho Chehab
1807c91f062SMauro Carvalho Chehab#
181cb7a01acSMauro Carvalho Chehab# V4L platform/mem2mem drivers
182cb7a01acSMauro Carvalho Chehab#
1831da177e4SLinus Torvalds
184786baecfSMauro Carvalho Chehabsource "drivers/media/usb/Kconfig"
1853c8c09b5SMauro Carvalho Chehabsource "drivers/media/pci/Kconfig"
1863c8c09b5SMauro Carvalho Chehabsource "drivers/media/platform/Kconfig"
1870013ca8cSMauro Carvalho Chehabsource "drivers/media/mmc/Kconfig"
1883c8c09b5SMauro Carvalho Chehabsource "drivers/media/radio/Kconfig"
1891da177e4SLinus Torvalds
190616300bdSMauro Carvalho Chehabcomment "Supported FireWire (IEEE 1394) Adapters"
191616300bdSMauro Carvalho Chehab	depends on DVB_CORE && FIREWIRE
192616300bdSMauro Carvalho Chehabsource "drivers/media/firewire/Kconfig"
193616300bdSMauro Carvalho Chehab
1943c8c09b5SMauro Carvalho Chehab# Common driver options
1953785bc17SMauro Carvalho Chehabsource "drivers/media/common/Kconfig"
1963785bc17SMauro Carvalho Chehab
1978283a092SHans Verkuilcomment "Media ancillary drivers (tuners, sensors, i2c, spi, frontends)"
1985344fe6eSHans Verkuil
1993c8c09b5SMauro Carvalho Chehab#
2008283a092SHans Verkuil# Ancillary drivers (tuners, i2c, spi, frontends)
2013c8c09b5SMauro Carvalho Chehab#
2023c8c09b5SMauro Carvalho Chehab
203fccea74fSMauro Carvalho Chehabconfig MEDIA_SUBDRV_AUTOSELECT
2048283a092SHans Verkuil	bool "Autoselect ancillary drivers (tuners, sensors, i2c, spi, frontends)"
205435ef148SAntti Palosaari	depends on MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_CAMERA_SUPPORT || MEDIA_SDR_SUPPORT
206347f7a37SMauro Carvalho Chehab	depends on HAS_IOMEM
207347f7a37SMauro Carvalho Chehab	select I2C
208347f7a37SMauro Carvalho Chehab	select I2C_MUX
209fccea74fSMauro Carvalho Chehab	default y
210fccea74fSMauro Carvalho Chehab	help
2115344fe6eSHans Verkuil	  By default, a media driver auto-selects all possible ancillary
2125344fe6eSHans Verkuil	  devices such as tuners, sensors, video encoders/decoders and
2135344fe6eSHans Verkuil	  frontends, that are used by any of the supported devices.
214fccea74fSMauro Carvalho Chehab
215fccea74fSMauro Carvalho Chehab	  This is generally the right thing to do, except when there
2162c76a12aSMauro Carvalho Chehab	  are strict constraints with regards to the kernel size,
2172c76a12aSMauro Carvalho Chehab	  like on embedded systems.
218fccea74fSMauro Carvalho Chehab
2192c76a12aSMauro Carvalho Chehab	  Use this option with care, as deselecting ancillary drivers which
2202c76a12aSMauro Carvalho Chehab	  are, in fact, necessary will result in the lack of the needed
2212c76a12aSMauro Carvalho Chehab	  functionality for your device (it may not tune or may not have
2225344fe6eSHans Verkuil	  the needed demodulators).
223fccea74fSMauro Carvalho Chehab
224fccea74fSMauro Carvalho Chehab	  If unsure say Y.
225bb69ee27SMauro Carvalho Chehab
226bb69ee27SMauro Carvalho Chehabconfig MEDIA_ATTACH
227bb69ee27SMauro Carvalho Chehab	bool
228bb69ee27SMauro Carvalho Chehab	depends on MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_RADIO_SUPPORT
229bb69ee27SMauro Carvalho Chehab	depends on MODULES
230bb69ee27SMauro Carvalho Chehab	default MODULES
231fccea74fSMauro Carvalho Chehab
2323c8c09b5SMauro Carvalho Chehabsource "drivers/media/i2c/Kconfig"
2338283a092SHans Verkuilsource "drivers/media/spi/Kconfig"
234fccea74fSMauro Carvalho Chehabsource "drivers/media/tuners/Kconfig"
2353c8c09b5SMauro Carvalho Chehabsource "drivers/media/dvb-frontends/Kconfig"
2363c8c09b5SMauro Carvalho Chehab
237ab482a6cSRandy Dunlapendif # MEDIA_SUPPORT
238