xref: /openbmc/linux/drivers/media/Kconfig (revision 56a263aa)
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       ---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
92*56a263aaSHans Verkuilsource "drivers/media/cec/Kconfig"
936917a7b7SHans Verkuil
94b4c184e5SMauro Carvalho Chehab#
95cf4b9211SLaurent Pinchart# Media controller
96b4c184e5SMauro Carvalho Chehab#	Selectable only for webcam/grabbers, as other drivers don't use it
97cf4b9211SLaurent Pinchart#
98cf4b9211SLaurent Pinchart
99cf4b9211SLaurent Pinchartconfig MEDIA_CONTROLLER
10051e8cb74SKees Cook	bool "Media Controller API"
101a0246e02SMauro Carvalho Chehab	depends on MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT
102cf4b9211SLaurent Pinchart	---help---
103cf4b9211SLaurent Pinchart	  Enable the media controller API used to query media devices internal
104cf4b9211SLaurent Pinchart	  topology and configure it dynamically.
105cf4b9211SLaurent Pinchart
106cf4b9211SLaurent Pinchart	  This API is mostly used by camera interfaces in embedded platforms.
107cf4b9211SLaurent Pinchart
108a0246e02SMauro Carvalho Chehabconfig MEDIA_CONTROLLER_DVB
109c3f22501SMauro Carvalho Chehab	bool "Enable Media controller for DVB (EXPERIMENTAL)"
110a4afb3edSMauro Carvalho Chehab	depends on MEDIA_CONTROLLER && DVB_CORE
111a0246e02SMauro Carvalho Chehab	---help---
112a0246e02SMauro Carvalho Chehab	  Enable the media controller API support for DVB.
113a0246e02SMauro Carvalho Chehab
114a0246e02SMauro Carvalho Chehab	  This is currently experimental.
115a0246e02SMauro Carvalho Chehab
116cf4b9211SLaurent Pinchart#
117b4c184e5SMauro Carvalho Chehab# Video4Linux support
118b4c184e5SMauro Carvalho Chehab#	Only enables if one of the V4L2 types (ATV, webcam, radio) is selected
1197c91f062SMauro Carvalho Chehab#
1207c91f062SMauro Carvalho Chehab
1211da177e4SLinus Torvaldsconfig VIDEO_DEV
122b4c184e5SMauro Carvalho Chehab	tristate
123b4c184e5SMauro Carvalho Chehab	depends on MEDIA_SUPPORT
124435ef148SAntti Palosaari	depends on MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_RADIO_SUPPORT || MEDIA_SDR_SUPPORT
125b4c184e5SMauro Carvalho Chehab	default y
1261da177e4SLinus Torvalds
1277cd5a16bSStanimir Varbanovconfig VIDEO_V4L2_SUBDEV_API
12851e8cb74SKees Cook	bool "V4L2 sub-device userspace API"
12951e8cb74SKees Cook	depends on VIDEO_DEV && MEDIA_CONTROLLER
1307cd5a16bSStanimir Varbanov	---help---
1317cd5a16bSStanimir Varbanov	  Enables the V4L2 sub-device pad-level userspace API used to configure
1327cd5a16bSStanimir Varbanov	  video format, size and frame rate between hardware blocks.
1337cd5a16bSStanimir Varbanov
1347cd5a16bSStanimir Varbanov	  This API is mostly used by camera interfaces in embedded platforms.
1357cd5a16bSStanimir Varbanov
136f0af8fa4SMauro Carvalho Chehabsource "drivers/media/v4l2-core/Kconfig"
137f0af8fa4SMauro Carvalho Chehab
1387c91f062SMauro Carvalho Chehab#
1397c91f062SMauro Carvalho Chehab# DVB Core
140b4c184e5SMauro Carvalho Chehab#	Only enables if one of DTV is selected
1417c91f062SMauro Carvalho Chehab#
142cd41e28eSMauro Carvalho Chehab
1437c91f062SMauro Carvalho Chehabconfig DVB_CORE
144b4c184e5SMauro Carvalho Chehab	tristate
145b4c184e5SMauro Carvalho Chehab	depends on MEDIA_SUPPORT
146b4c184e5SMauro Carvalho Chehab	depends on MEDIA_DIGITAL_TV_SUPPORT
147b4c184e5SMauro Carvalho Chehab	default y
1487c91f062SMauro Carvalho Chehab	select CRC32
1497c91f062SMauro Carvalho Chehab
150a34ff6cdSHans Petter Selaskyconfig DVB_NET
151a34ff6cdSHans Petter Selasky	bool "DVB Network Support"
152a34ff6cdSHans Petter Selasky	default (NET && INET)
1538c528d5eSGuennadi Liakhovetski	depends on NET && INET && DVB_CORE
154a34ff6cdSHans Petter Selasky	help
1559a78efc8SJiri Slaby	  This option enables DVB Network Support which is a part of the DVB
1569a78efc8SJiri Slaby	  standard. It is used, for example, by automatic firmware updates used
1579a78efc8SJiri Slaby	  on Set-Top-Boxes. It can also be used to access the Internet via the
1589a78efc8SJiri Slaby	  DVB card, if the network provider supports it.
159a34ff6cdSHans Petter Selasky
1609a78efc8SJiri Slaby	  You may want to disable the network support on embedded devices. If
1619a78efc8SJiri Slaby	  unsure say Y.
162a34ff6cdSHans Petter Selasky
1635d92bbe6SMauro Carvalho Chehab# This Kconfig option is used by both PCI and USB drivers
1645d92bbe6SMauro Carvalho Chehabconfig TTPCI_EEPROM
1655d92bbe6SMauro Carvalho Chehab	tristate
1665d92bbe6SMauro Carvalho Chehab	depends on I2C
1675d92bbe6SMauro Carvalho Chehab	default n
1685d92bbe6SMauro Carvalho Chehab
169f0af8fa4SMauro Carvalho Chehabsource "drivers/media/dvb-core/Kconfig"
170f0af8fa4SMauro Carvalho Chehab
171c455f5c8SMauro Carvalho Chehabcomment "Media drivers"
17232cf86f6SMauro Carvalho Chehabsource "drivers/media/rc/Kconfig"
1737c91f062SMauro Carvalho Chehab
1747c91f062SMauro Carvalho Chehab#
175cb7a01acSMauro Carvalho Chehab# V4L platform/mem2mem drivers
176cb7a01acSMauro Carvalho Chehab#
1771da177e4SLinus Torvalds
178786baecfSMauro Carvalho Chehabsource "drivers/media/usb/Kconfig"
1793c8c09b5SMauro Carvalho Chehabsource "drivers/media/pci/Kconfig"
1803c8c09b5SMauro Carvalho Chehabsource "drivers/media/platform/Kconfig"
1810013ca8cSMauro Carvalho Chehabsource "drivers/media/mmc/Kconfig"
1823c8c09b5SMauro Carvalho Chehabsource "drivers/media/radio/Kconfig"
1831da177e4SLinus Torvalds
184616300bdSMauro Carvalho Chehabcomment "Supported FireWire (IEEE 1394) Adapters"
185616300bdSMauro Carvalho Chehab	depends on DVB_CORE && FIREWIRE
186616300bdSMauro Carvalho Chehabsource "drivers/media/firewire/Kconfig"
187616300bdSMauro Carvalho Chehab
1883c8c09b5SMauro Carvalho Chehab# Common driver options
1893785bc17SMauro Carvalho Chehabsource "drivers/media/common/Kconfig"
1903785bc17SMauro Carvalho Chehab
1918283a092SHans Verkuilcomment "Media ancillary drivers (tuners, sensors, i2c, spi, frontends)"
1925344fe6eSHans Verkuil
1933c8c09b5SMauro Carvalho Chehab#
1948283a092SHans Verkuil# Ancillary drivers (tuners, i2c, spi, frontends)
1953c8c09b5SMauro Carvalho Chehab#
1963c8c09b5SMauro Carvalho Chehab
197fccea74fSMauro Carvalho Chehabconfig MEDIA_SUBDRV_AUTOSELECT
1988283a092SHans Verkuil	bool "Autoselect ancillary drivers (tuners, sensors, i2c, spi, frontends)"
199435ef148SAntti Palosaari	depends on MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_CAMERA_SUPPORT || MEDIA_SDR_SUPPORT
200347f7a37SMauro Carvalho Chehab	depends on HAS_IOMEM
201347f7a37SMauro Carvalho Chehab	select I2C
202347f7a37SMauro Carvalho Chehab	select I2C_MUX
203fccea74fSMauro Carvalho Chehab	default y
204fccea74fSMauro Carvalho Chehab	help
2055344fe6eSHans Verkuil	  By default, a media driver auto-selects all possible ancillary
2065344fe6eSHans Verkuil	  devices such as tuners, sensors, video encoders/decoders and
2075344fe6eSHans Verkuil	  frontends, that are used by any of the supported devices.
208fccea74fSMauro Carvalho Chehab
209fccea74fSMauro Carvalho Chehab	  This is generally the right thing to do, except when there
2102c76a12aSMauro Carvalho Chehab	  are strict constraints with regards to the kernel size,
2112c76a12aSMauro Carvalho Chehab	  like on embedded systems.
212fccea74fSMauro Carvalho Chehab
2132c76a12aSMauro Carvalho Chehab	  Use this option with care, as deselecting ancillary drivers which
2142c76a12aSMauro Carvalho Chehab	  are, in fact, necessary will result in the lack of the needed
2152c76a12aSMauro Carvalho Chehab	  functionality for your device (it may not tune or may not have
2165344fe6eSHans Verkuil	  the needed demodulators).
217fccea74fSMauro Carvalho Chehab
218fccea74fSMauro Carvalho Chehab	  If unsure say Y.
219bb69ee27SMauro Carvalho Chehab
220bb69ee27SMauro Carvalho Chehabconfig MEDIA_ATTACH
221bb69ee27SMauro Carvalho Chehab	bool
222bb69ee27SMauro Carvalho Chehab	depends on MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_RADIO_SUPPORT
223bb69ee27SMauro Carvalho Chehab	depends on MODULES
224bb69ee27SMauro Carvalho Chehab	default MODULES
225fccea74fSMauro Carvalho Chehab
2263c8c09b5SMauro Carvalho Chehabsource "drivers/media/i2c/Kconfig"
2278283a092SHans Verkuilsource "drivers/media/spi/Kconfig"
228fccea74fSMauro Carvalho Chehabsource "drivers/media/tuners/Kconfig"
2293c8c09b5SMauro Carvalho Chehabsource "drivers/media/dvb-frontends/Kconfig"
2303c8c09b5SMauro Carvalho Chehab
231ab482a6cSRandy Dunlapendif # MEDIA_SUPPORT
232