xref: /openbmc/linux/drivers/media/Kconfig (revision 347f7a37)
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
12b4c184e5SMauro Carvalho Chehab	  <http://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
54b4c184e5SMauro Carvalho Chehab	  <http://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
62c455f5c8SMauro Carvalho Chehabconfig MEDIA_RC_SUPPORT
63b4c184e5SMauro Carvalho Chehab	bool "Remote Controller support"
64b4c184e5SMauro Carvalho Chehab	depends on INPUT
65b4c184e5SMauro Carvalho Chehab	---help---
66b4c184e5SMauro Carvalho Chehab	  Enable support for Remote Controllers on Linux. This is
67b4c184e5SMauro Carvalho Chehab	  needed in order to support several video capture adapters,
68b4c184e5SMauro Carvalho Chehab	  standalone IR receivers/transmitters, and RF receivers.
69b4c184e5SMauro Carvalho Chehab
70b4c184e5SMauro Carvalho Chehab	  Enable this option if you have a video capture board even
71b4c184e5SMauro Carvalho Chehab	  if you don't need IR, as otherwise, you may not be able to
72b4c184e5SMauro Carvalho Chehab	  compile the driver for your adapter.
73b4c184e5SMauro Carvalho Chehab
74b4c184e5SMauro Carvalho Chehab	  Say Y when you have a TV or an IR device.
75b4c184e5SMauro Carvalho Chehab
76b4c184e5SMauro Carvalho Chehab#
77cf4b9211SLaurent Pinchart# Media controller
78b4c184e5SMauro Carvalho Chehab#	Selectable only for webcam/grabbers, as other drivers don't use it
79cf4b9211SLaurent Pinchart#
80cf4b9211SLaurent Pinchart
81cf4b9211SLaurent Pinchartconfig MEDIA_CONTROLLER
8251e8cb74SKees Cook	bool "Media Controller API"
83b4c184e5SMauro Carvalho Chehab	depends on MEDIA_CAMERA_SUPPORT
84cf4b9211SLaurent Pinchart	---help---
85cf4b9211SLaurent Pinchart	  Enable the media controller API used to query media devices internal
86cf4b9211SLaurent Pinchart	  topology and configure it dynamically.
87cf4b9211SLaurent Pinchart
88cf4b9211SLaurent Pinchart	  This API is mostly used by camera interfaces in embedded platforms.
89cf4b9211SLaurent Pinchart
90cf4b9211SLaurent Pinchart#
91b4c184e5SMauro Carvalho Chehab# Video4Linux support
92b4c184e5SMauro Carvalho Chehab#	Only enables if one of the V4L2 types (ATV, webcam, radio) is selected
937c91f062SMauro Carvalho Chehab#
947c91f062SMauro Carvalho Chehab
951da177e4SLinus Torvaldsconfig VIDEO_DEV
96b4c184e5SMauro Carvalho Chehab	tristate
97b4c184e5SMauro Carvalho Chehab	depends on MEDIA_SUPPORT
98b4c184e5SMauro Carvalho Chehab	depends on MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_RADIO_SUPPORT
99b4c184e5SMauro Carvalho Chehab	default y
1001da177e4SLinus Torvalds
1017cd5a16bSStanimir Varbanovconfig VIDEO_V4L2_SUBDEV_API
10251e8cb74SKees Cook	bool "V4L2 sub-device userspace API"
10351e8cb74SKees Cook	depends on VIDEO_DEV && MEDIA_CONTROLLER
1047cd5a16bSStanimir Varbanov	---help---
1057cd5a16bSStanimir Varbanov	  Enables the V4L2 sub-device pad-level userspace API used to configure
1067cd5a16bSStanimir Varbanov	  video format, size and frame rate between hardware blocks.
1077cd5a16bSStanimir Varbanov
1087cd5a16bSStanimir Varbanov	  This API is mostly used by camera interfaces in embedded platforms.
1097cd5a16bSStanimir Varbanov
110f0af8fa4SMauro Carvalho Chehabsource "drivers/media/v4l2-core/Kconfig"
111f0af8fa4SMauro Carvalho Chehab
1127c91f062SMauro Carvalho Chehab#
1137c91f062SMauro Carvalho Chehab# DVB Core
114b4c184e5SMauro Carvalho Chehab#	Only enables if one of DTV is selected
1157c91f062SMauro Carvalho Chehab#
116cd41e28eSMauro Carvalho Chehab
1177c91f062SMauro Carvalho Chehabconfig DVB_CORE
118b4c184e5SMauro Carvalho Chehab	tristate
119b4c184e5SMauro Carvalho Chehab	depends on MEDIA_SUPPORT
120b4c184e5SMauro Carvalho Chehab	depends on MEDIA_DIGITAL_TV_SUPPORT
121b4c184e5SMauro Carvalho Chehab	default y
1227c91f062SMauro Carvalho Chehab	select CRC32
1237c91f062SMauro Carvalho Chehab
124a34ff6cdSHans Petter Selaskyconfig DVB_NET
125a34ff6cdSHans Petter Selasky	bool "DVB Network Support"
126a34ff6cdSHans Petter Selasky	default (NET && INET)
1278c528d5eSGuennadi Liakhovetski	depends on NET && INET && DVB_CORE
128a34ff6cdSHans Petter Selasky	help
1299a78efc8SJiri Slaby	  This option enables DVB Network Support which is a part of the DVB
1309a78efc8SJiri Slaby	  standard. It is used, for example, by automatic firmware updates used
1319a78efc8SJiri Slaby	  on Set-Top-Boxes. It can also be used to access the Internet via the
1329a78efc8SJiri Slaby	  DVB card, if the network provider supports it.
133a34ff6cdSHans Petter Selasky
1349a78efc8SJiri Slaby	  You may want to disable the network support on embedded devices. If
1359a78efc8SJiri Slaby	  unsure say Y.
136a34ff6cdSHans Petter Selasky
1375d92bbe6SMauro Carvalho Chehab# This Kconfig option is used by both PCI and USB drivers
1385d92bbe6SMauro Carvalho Chehabconfig TTPCI_EEPROM
1395d92bbe6SMauro Carvalho Chehab	tristate
1405d92bbe6SMauro Carvalho Chehab	depends on I2C
1415d92bbe6SMauro Carvalho Chehab	default n
1425d92bbe6SMauro Carvalho Chehab
143f0af8fa4SMauro Carvalho Chehabsource "drivers/media/dvb-core/Kconfig"
144f0af8fa4SMauro Carvalho Chehab
145c455f5c8SMauro Carvalho Chehabcomment "Media drivers"
14632cf86f6SMauro Carvalho Chehabsource "drivers/media/rc/Kconfig"
1477c91f062SMauro Carvalho Chehab
1487c91f062SMauro Carvalho Chehab#
149cb7a01acSMauro Carvalho Chehab# V4L platform/mem2mem drivers
150cb7a01acSMauro Carvalho Chehab#
1511da177e4SLinus Torvalds
152786baecfSMauro Carvalho Chehabsource "drivers/media/usb/Kconfig"
1533c8c09b5SMauro Carvalho Chehabsource "drivers/media/pci/Kconfig"
1543c8c09b5SMauro Carvalho Chehabsource "drivers/media/platform/Kconfig"
1550013ca8cSMauro Carvalho Chehabsource "drivers/media/mmc/Kconfig"
156d1677dc3SMauro Carvalho Chehabsource "drivers/media/parport/Kconfig"
1573c8c09b5SMauro Carvalho Chehabsource "drivers/media/radio/Kconfig"
1581da177e4SLinus Torvalds
159616300bdSMauro Carvalho Chehabcomment "Supported FireWire (IEEE 1394) Adapters"
160616300bdSMauro Carvalho Chehab	depends on DVB_CORE && FIREWIRE
161616300bdSMauro Carvalho Chehabsource "drivers/media/firewire/Kconfig"
162616300bdSMauro Carvalho Chehab
1633c8c09b5SMauro Carvalho Chehab# Common driver options
1643785bc17SMauro Carvalho Chehabsource "drivers/media/common/Kconfig"
1653785bc17SMauro Carvalho Chehab
1665344fe6eSHans Verkuilcomment "Media ancillary drivers (tuners, sensors, i2c, frontends)"
1675344fe6eSHans Verkuil
1683c8c09b5SMauro Carvalho Chehab#
1693c8c09b5SMauro Carvalho Chehab# Ancillary drivers (tuners, i2c, frontends)
1703c8c09b5SMauro Carvalho Chehab#
1713c8c09b5SMauro Carvalho Chehab
172fccea74fSMauro Carvalho Chehabconfig MEDIA_SUBDRV_AUTOSELECT
1735344fe6eSHans Verkuil	bool "Autoselect ancillary drivers (tuners, sensors, i2c, frontends)"
1742c76a12aSMauro Carvalho Chehab	depends on MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_CAMERA_SUPPORT
175347f7a37SMauro Carvalho Chehab	depends on HAS_IOMEM
176347f7a37SMauro Carvalho Chehab	select I2C
177347f7a37SMauro Carvalho Chehab	select I2C_MUX
178fccea74fSMauro Carvalho Chehab	default y
179fccea74fSMauro Carvalho Chehab	help
1805344fe6eSHans Verkuil	  By default, a media driver auto-selects all possible ancillary
1815344fe6eSHans Verkuil	  devices such as tuners, sensors, video encoders/decoders and
1825344fe6eSHans Verkuil	  frontends, that are used by any of the supported devices.
183fccea74fSMauro Carvalho Chehab
184fccea74fSMauro Carvalho Chehab	  This is generally the right thing to do, except when there
1852c76a12aSMauro Carvalho Chehab	  are strict constraints with regards to the kernel size,
1862c76a12aSMauro Carvalho Chehab	  like on embedded systems.
187fccea74fSMauro Carvalho Chehab
1882c76a12aSMauro Carvalho Chehab	  Use this option with care, as deselecting ancillary drivers which
1892c76a12aSMauro Carvalho Chehab	  are, in fact, necessary will result in the lack of the needed
1902c76a12aSMauro Carvalho Chehab	  functionality for your device (it may not tune or may not have
1915344fe6eSHans Verkuil	  the needed demodulators).
192fccea74fSMauro Carvalho Chehab
193fccea74fSMauro Carvalho Chehab	  If unsure say Y.
194bb69ee27SMauro Carvalho Chehab
195bb69ee27SMauro Carvalho Chehabconfig MEDIA_ATTACH
196bb69ee27SMauro Carvalho Chehab	bool
197bb69ee27SMauro Carvalho Chehab	depends on MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_RADIO_SUPPORT
198bb69ee27SMauro Carvalho Chehab	depends on MODULES
199bb69ee27SMauro Carvalho Chehab	default MODULES
200fccea74fSMauro Carvalho Chehab
2013c8c09b5SMauro Carvalho Chehabsource "drivers/media/i2c/Kconfig"
202fccea74fSMauro Carvalho Chehabsource "drivers/media/tuners/Kconfig"
2033c8c09b5SMauro Carvalho Chehabsource "drivers/media/dvb-frontends/Kconfig"
2043c8c09b5SMauro Carvalho Chehab
205ab482a6cSRandy Dunlapendif # MEDIA_SUPPORT
206