xref: /openbmc/linux/drivers/media/Kconfig (revision ea5c8ef2)
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
11ea5c8ef2SHans Verkuilconfig CEC_PIN
12ea5c8ef2SHans Verkuil	bool
13ea5c8ef2SHans Verkuil
14ab482a6cSRandy Dunlapmenuconfig MEDIA_SUPPORT
15ab482a6cSRandy Dunlap	tristate "Multimedia support"
16e25df120SMartin Schwidefsky	depends on HAS_IOMEM
17ab482a6cSRandy Dunlap	help
18b4c184e5SMauro Carvalho Chehab	  If you want to use Webcams, Video grabber devices and/or TV devices
19ab482a6cSRandy Dunlap	  enable this option and other options below.
20b4c184e5SMauro Carvalho Chehab	  Additional info and docs are available on the web at
21991ce92fSMauro Carvalho Chehab	  <https://linuxtv.org>
22ab482a6cSRandy Dunlap
23ab482a6cSRandy Dunlapif MEDIA_SUPPORT
241da177e4SLinus Torvalds
257c91f062SMauro Carvalho Chehabcomment "Multimedia core support"
267c91f062SMauro Carvalho Chehab
277c91f062SMauro Carvalho Chehab#
28b4c184e5SMauro Carvalho Chehab# Multimedia support - automatically enable V4L2 and DVB core
29b4c184e5SMauro Carvalho Chehab#
30b4c184e5SMauro Carvalho Chehabconfig MEDIA_CAMERA_SUPPORT
31b4c184e5SMauro Carvalho Chehab	bool "Cameras/video grabbers support"
32b4c184e5SMauro Carvalho Chehab	---help---
33b4c184e5SMauro Carvalho Chehab	  Enable support for webcams and video grabbers.
34b4c184e5SMauro Carvalho Chehab
35b4c184e5SMauro Carvalho Chehab	  Say Y when you have a webcam or a video capture grabber board.
36b4c184e5SMauro Carvalho Chehab
37b4c184e5SMauro Carvalho Chehabconfig MEDIA_ANALOG_TV_SUPPORT
38b4c184e5SMauro Carvalho Chehab	bool "Analog TV support"
39b4c184e5SMauro Carvalho Chehab	---help---
40b4c184e5SMauro Carvalho Chehab	  Enable analog TV support.
41b4c184e5SMauro Carvalho Chehab
42b4c184e5SMauro Carvalho Chehab	  Say Y when you have a TV board with analog support or with a
43b4c184e5SMauro Carvalho Chehab	  hybrid analog/digital TV chipset.
44b4c184e5SMauro Carvalho Chehab
45b4c184e5SMauro Carvalho Chehab	  Note: There are several DVB cards that are based on chips that
46b4c184e5SMauro Carvalho Chehab		support both analog and digital TV. Disabling this option
47b4c184e5SMauro Carvalho Chehab		will disable support for them.
48b4c184e5SMauro Carvalho Chehab
49b4c184e5SMauro Carvalho Chehabconfig MEDIA_DIGITAL_TV_SUPPORT
50b4c184e5SMauro Carvalho Chehab	bool "Digital TV support"
51b4c184e5SMauro Carvalho Chehab	---help---
52b4c184e5SMauro Carvalho Chehab	  Enable digital TV support.
53b4c184e5SMauro Carvalho Chehab
54b4c184e5SMauro Carvalho Chehab	  Say Y when you have a board with digital support or a board with
55b4c184e5SMauro Carvalho Chehab	  hybrid digital TV and analog TV.
56b4c184e5SMauro Carvalho Chehab
57b4c184e5SMauro Carvalho Chehabconfig MEDIA_RADIO_SUPPORT
58b4c184e5SMauro Carvalho Chehab	bool "AM/FM radio receivers/transmitters support"
59b4c184e5SMauro Carvalho Chehab	---help---
60b4c184e5SMauro Carvalho Chehab	  Enable AM/FM radio support.
61b4c184e5SMauro Carvalho Chehab
62b4c184e5SMauro Carvalho Chehab	  Additional info and docs are available on the web at
63991ce92fSMauro Carvalho Chehab	  <https://linuxtv.org>
64b4c184e5SMauro Carvalho Chehab
65b4c184e5SMauro Carvalho Chehab	  Say Y when you have a board with radio support.
66b4c184e5SMauro Carvalho Chehab
67b4c184e5SMauro Carvalho Chehab	  Note: There are several TV cards that are based on chips that
68b4c184e5SMauro Carvalho Chehab		support radio reception. Disabling this option will
69b4c184e5SMauro Carvalho Chehab		disable support for them.
70b4c184e5SMauro Carvalho Chehab
71435ef148SAntti Palosaariconfig MEDIA_SDR_SUPPORT
72435ef148SAntti Palosaari	bool "Software defined radio support"
73435ef148SAntti Palosaari	---help---
74435ef148SAntti Palosaari	  Enable software defined radio support.
75435ef148SAntti Palosaari
76435ef148SAntti Palosaari	  Say Y when you have a software defined radio device.
77435ef148SAntti Palosaari
78c455f5c8SMauro Carvalho Chehabconfig MEDIA_RC_SUPPORT
79b4c184e5SMauro Carvalho Chehab	bool "Remote Controller support"
80b4c184e5SMauro Carvalho Chehab	depends on INPUT
81b4c184e5SMauro Carvalho Chehab	---help---
82b4c184e5SMauro Carvalho Chehab	  Enable support for Remote Controllers on Linux. This is
83b4c184e5SMauro Carvalho Chehab	  needed in order to support several video capture adapters,
84b4c184e5SMauro Carvalho Chehab	  standalone IR receivers/transmitters, and RF receivers.
85b4c184e5SMauro Carvalho Chehab
86b4c184e5SMauro Carvalho Chehab	  Enable this option if you have a video capture board even
87b4c184e5SMauro Carvalho Chehab	  if you don't need IR, as otherwise, you may not be able to
88b4c184e5SMauro Carvalho Chehab	  compile the driver for your adapter.
89b4c184e5SMauro Carvalho Chehab
90b4c184e5SMauro Carvalho Chehab	  Say Y when you have a TV or an IR device.
91b4c184e5SMauro Carvalho Chehab
920dbacebeSHans Verkuilconfig MEDIA_CEC_SUPPORT
930dbacebeSHans Verkuil       bool "HDMI CEC support"
940dbacebeSHans Verkuil       ---help---
950dbacebeSHans Verkuil         Enable support for HDMI CEC (Consumer Electronics Control),
960dbacebeSHans Verkuil         which is an optional HDMI feature.
970dbacebeSHans Verkuil
980dbacebeSHans Verkuil         Say Y when you have an HDMI receiver, transmitter or a USB CEC
990dbacebeSHans Verkuil         adapter that supports HDMI CEC.
1000dbacebeSHans Verkuil
10156a263aaSHans Verkuilsource "drivers/media/cec/Kconfig"
1026917a7b7SHans Verkuil
103b4c184e5SMauro Carvalho Chehab#
104cf4b9211SLaurent Pinchart# Media controller
105b4c184e5SMauro Carvalho Chehab#	Selectable only for webcam/grabbers, as other drivers don't use it
106cf4b9211SLaurent Pinchart#
107cf4b9211SLaurent Pinchart
108cf4b9211SLaurent Pinchartconfig MEDIA_CONTROLLER
10951e8cb74SKees Cook	bool "Media Controller API"
110a0246e02SMauro Carvalho Chehab	depends on MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT
111cf4b9211SLaurent Pinchart	---help---
112cf4b9211SLaurent Pinchart	  Enable the media controller API used to query media devices internal
113cf4b9211SLaurent Pinchart	  topology and configure it dynamically.
114cf4b9211SLaurent Pinchart
115cf4b9211SLaurent Pinchart	  This API is mostly used by camera interfaces in embedded platforms.
116cf4b9211SLaurent Pinchart
117a0246e02SMauro Carvalho Chehabconfig MEDIA_CONTROLLER_DVB
118c3f22501SMauro Carvalho Chehab	bool "Enable Media controller for DVB (EXPERIMENTAL)"
119a4afb3edSMauro Carvalho Chehab	depends on MEDIA_CONTROLLER && DVB_CORE
120a0246e02SMauro Carvalho Chehab	---help---
121a0246e02SMauro Carvalho Chehab	  Enable the media controller API support for DVB.
122a0246e02SMauro Carvalho Chehab
123a0246e02SMauro Carvalho Chehab	  This is currently experimental.
124a0246e02SMauro Carvalho Chehab
125cf4b9211SLaurent Pinchart#
126b4c184e5SMauro Carvalho Chehab# Video4Linux support
127b4c184e5SMauro Carvalho Chehab#	Only enables if one of the V4L2 types (ATV, webcam, radio) is selected
1287c91f062SMauro Carvalho Chehab#
1297c91f062SMauro Carvalho Chehab
1301da177e4SLinus Torvaldsconfig VIDEO_DEV
131b4c184e5SMauro Carvalho Chehab	tristate
132b4c184e5SMauro Carvalho Chehab	depends on MEDIA_SUPPORT
133435ef148SAntti Palosaari	depends on MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_RADIO_SUPPORT || MEDIA_SDR_SUPPORT
134b4c184e5SMauro Carvalho Chehab	default y
1351da177e4SLinus Torvalds
1367cd5a16bSStanimir Varbanovconfig VIDEO_V4L2_SUBDEV_API
13751e8cb74SKees Cook	bool "V4L2 sub-device userspace API"
13851e8cb74SKees Cook	depends on VIDEO_DEV && MEDIA_CONTROLLER
1397cd5a16bSStanimir Varbanov	---help---
1407cd5a16bSStanimir Varbanov	  Enables the V4L2 sub-device pad-level userspace API used to configure
1417cd5a16bSStanimir Varbanov	  video format, size and frame rate between hardware blocks.
1427cd5a16bSStanimir Varbanov
1437cd5a16bSStanimir Varbanov	  This API is mostly used by camera interfaces in embedded platforms.
1447cd5a16bSStanimir Varbanov
145f0af8fa4SMauro Carvalho Chehabsource "drivers/media/v4l2-core/Kconfig"
146f0af8fa4SMauro Carvalho Chehab
1477c91f062SMauro Carvalho Chehab#
1487c91f062SMauro Carvalho Chehab# DVB Core
149b4c184e5SMauro Carvalho Chehab#	Only enables if one of DTV is selected
1507c91f062SMauro Carvalho Chehab#
151cd41e28eSMauro Carvalho Chehab
1527c91f062SMauro Carvalho Chehabconfig DVB_CORE
153b4c184e5SMauro Carvalho Chehab	tristate
154b4c184e5SMauro Carvalho Chehab	depends on MEDIA_SUPPORT
155b4c184e5SMauro Carvalho Chehab	depends on MEDIA_DIGITAL_TV_SUPPORT
156b4c184e5SMauro Carvalho Chehab	default y
1577c91f062SMauro Carvalho Chehab	select CRC32
1587c91f062SMauro Carvalho Chehab
159a34ff6cdSHans Petter Selaskyconfig DVB_NET
160a34ff6cdSHans Petter Selasky	bool "DVB Network Support"
161a34ff6cdSHans Petter Selasky	default (NET && INET)
1628c528d5eSGuennadi Liakhovetski	depends on NET && INET && DVB_CORE
163a34ff6cdSHans Petter Selasky	help
1649a78efc8SJiri Slaby	  This option enables DVB Network Support which is a part of the DVB
1659a78efc8SJiri Slaby	  standard. It is used, for example, by automatic firmware updates used
1669a78efc8SJiri Slaby	  on Set-Top-Boxes. It can also be used to access the Internet via the
1679a78efc8SJiri Slaby	  DVB card, if the network provider supports it.
168a34ff6cdSHans Petter Selasky
1699a78efc8SJiri Slaby	  You may want to disable the network support on embedded devices. If
1709a78efc8SJiri Slaby	  unsure say Y.
171a34ff6cdSHans Petter Selasky
1725d92bbe6SMauro Carvalho Chehab# This Kconfig option is used by both PCI and USB drivers
1735d92bbe6SMauro Carvalho Chehabconfig TTPCI_EEPROM
1745d92bbe6SMauro Carvalho Chehab	tristate
1755d92bbe6SMauro Carvalho Chehab	depends on I2C
1765d92bbe6SMauro Carvalho Chehab	default n
1775d92bbe6SMauro Carvalho Chehab
178f0af8fa4SMauro Carvalho Chehabsource "drivers/media/dvb-core/Kconfig"
179f0af8fa4SMauro Carvalho Chehab
180c455f5c8SMauro Carvalho Chehabcomment "Media drivers"
18132cf86f6SMauro Carvalho Chehabsource "drivers/media/rc/Kconfig"
1827c91f062SMauro Carvalho Chehab
1837c91f062SMauro Carvalho Chehab#
184cb7a01acSMauro Carvalho Chehab# V4L platform/mem2mem drivers
185cb7a01acSMauro Carvalho Chehab#
1861da177e4SLinus Torvalds
187786baecfSMauro Carvalho Chehabsource "drivers/media/usb/Kconfig"
1883c8c09b5SMauro Carvalho Chehabsource "drivers/media/pci/Kconfig"
1893c8c09b5SMauro Carvalho Chehabsource "drivers/media/platform/Kconfig"
1900013ca8cSMauro Carvalho Chehabsource "drivers/media/mmc/Kconfig"
1913c8c09b5SMauro Carvalho Chehabsource "drivers/media/radio/Kconfig"
1921da177e4SLinus Torvalds
193616300bdSMauro Carvalho Chehabcomment "Supported FireWire (IEEE 1394) Adapters"
194616300bdSMauro Carvalho Chehab	depends on DVB_CORE && FIREWIRE
195616300bdSMauro Carvalho Chehabsource "drivers/media/firewire/Kconfig"
196616300bdSMauro Carvalho Chehab
1973c8c09b5SMauro Carvalho Chehab# Common driver options
1983785bc17SMauro Carvalho Chehabsource "drivers/media/common/Kconfig"
1993785bc17SMauro Carvalho Chehab
2008283a092SHans Verkuilcomment "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
212fccea74fSMauro Carvalho Chehab	default y
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
229bb69ee27SMauro Carvalho Chehabconfig MEDIA_ATTACH
230bb69ee27SMauro Carvalho Chehab	bool
231bb69ee27SMauro Carvalho Chehab	depends on MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_RADIO_SUPPORT
232bb69ee27SMauro Carvalho Chehab	depends on MODULES
233bb69ee27SMauro Carvalho Chehab	default MODULES
234fccea74fSMauro Carvalho Chehab
2353c8c09b5SMauro Carvalho Chehabsource "drivers/media/i2c/Kconfig"
2368283a092SHans Verkuilsource "drivers/media/spi/Kconfig"
237fccea74fSMauro Carvalho Chehabsource "drivers/media/tuners/Kconfig"
2383c8c09b5SMauro Carvalho Chehabsource "drivers/media/dvb-frontends/Kconfig"
2393c8c09b5SMauro Carvalho Chehab
240ab482a6cSRandy Dunlapendif # MEDIA_SUPPORT
241