xref: /openbmc/linux/drivers/media/Kconfig (revision b60a5b8d)
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
14b9e1486eSSean Youngsource "drivers/media/rc/Kconfig"
15b9e1486eSSean Young
16ab482a6cSRandy Dunlapmenuconfig MEDIA_SUPPORT
17ab482a6cSRandy Dunlap	tristate "Multimedia support"
18e25df120SMartin Schwidefsky	depends on HAS_IOMEM
19ab482a6cSRandy Dunlap	help
20b4c184e5SMauro Carvalho Chehab	  If you want to use Webcams, Video grabber devices and/or TV devices
21ab482a6cSRandy Dunlap	  enable this option and other options below.
22b4c184e5SMauro Carvalho Chehab	  Additional info and docs are available on the web at
23991ce92fSMauro Carvalho Chehab	  <https://linuxtv.org>
24ab482a6cSRandy Dunlap
25ab482a6cSRandy Dunlapif MEDIA_SUPPORT
261da177e4SLinus Torvalds
277c91f062SMauro Carvalho Chehabcomment "Multimedia core support"
287c91f062SMauro Carvalho Chehab
297c91f062SMauro Carvalho Chehab#
30b4c184e5SMauro Carvalho Chehab# Multimedia support - automatically enable V4L2 and DVB core
31b4c184e5SMauro Carvalho Chehab#
32b4c184e5SMauro Carvalho Chehabconfig MEDIA_CAMERA_SUPPORT
33b4c184e5SMauro Carvalho Chehab	bool "Cameras/video grabbers support"
34b60a5b8dSMauro Carvalho Chehab	help
35b4c184e5SMauro Carvalho Chehab	  Enable support for webcams and video grabbers.
36b4c184e5SMauro Carvalho Chehab
37b4c184e5SMauro Carvalho Chehab	  Say Y when you have a webcam or a video capture grabber board.
38b4c184e5SMauro Carvalho Chehab
39b4c184e5SMauro Carvalho Chehabconfig MEDIA_ANALOG_TV_SUPPORT
40b4c184e5SMauro Carvalho Chehab	bool "Analog TV support"
41b60a5b8dSMauro Carvalho Chehab	help
42b4c184e5SMauro Carvalho Chehab	  Enable analog TV support.
43b4c184e5SMauro Carvalho Chehab
44b4c184e5SMauro Carvalho Chehab	  Say Y when you have a TV board with analog support or with a
45b4c184e5SMauro Carvalho Chehab	  hybrid analog/digital TV chipset.
46b4c184e5SMauro Carvalho Chehab
47b4c184e5SMauro Carvalho Chehab	  Note: There are several DVB cards that are based on chips that
48b4c184e5SMauro Carvalho Chehab		support both analog and digital TV. Disabling this option
49b4c184e5SMauro Carvalho Chehab		will disable support for them.
50b4c184e5SMauro Carvalho Chehab
51b4c184e5SMauro Carvalho Chehabconfig MEDIA_DIGITAL_TV_SUPPORT
52b4c184e5SMauro Carvalho Chehab	bool "Digital TV support"
53b60a5b8dSMauro Carvalho Chehab	help
54b4c184e5SMauro Carvalho Chehab	  Enable digital TV support.
55b4c184e5SMauro Carvalho Chehab
56b4c184e5SMauro Carvalho Chehab	  Say Y when you have a board with digital support or a board with
57b4c184e5SMauro Carvalho Chehab	  hybrid digital TV and analog TV.
58b4c184e5SMauro Carvalho Chehab
59b4c184e5SMauro Carvalho Chehabconfig MEDIA_RADIO_SUPPORT
60b4c184e5SMauro Carvalho Chehab	bool "AM/FM radio receivers/transmitters support"
61b60a5b8dSMauro Carvalho Chehab	help
62b4c184e5SMauro Carvalho Chehab	  Enable AM/FM radio support.
63b4c184e5SMauro Carvalho Chehab
64b4c184e5SMauro Carvalho Chehab	  Additional info and docs are available on the web at
65991ce92fSMauro Carvalho Chehab	  <https://linuxtv.org>
66b4c184e5SMauro Carvalho Chehab
67b4c184e5SMauro Carvalho Chehab	  Say Y when you have a board with radio support.
68b4c184e5SMauro Carvalho Chehab
69b4c184e5SMauro Carvalho Chehab	  Note: There are several TV cards that are based on chips that
70b4c184e5SMauro Carvalho Chehab		support radio reception. Disabling this option will
71b4c184e5SMauro Carvalho Chehab		disable support for them.
72b4c184e5SMauro Carvalho Chehab
73435ef148SAntti Palosaariconfig MEDIA_SDR_SUPPORT
74435ef148SAntti Palosaari	bool "Software defined radio support"
75b60a5b8dSMauro Carvalho Chehab	help
76435ef148SAntti Palosaari	  Enable software defined radio support.
77435ef148SAntti Palosaari
78435ef148SAntti Palosaari	  Say Y when you have a software defined radio device.
79435ef148SAntti Palosaari
800dbacebeSHans Verkuilconfig MEDIA_CEC_SUPPORT
810dbacebeSHans Verkuil	bool "HDMI CEC support"
82b60a5b8dSMauro Carvalho Chehab	help
830dbacebeSHans Verkuil	  Enable support for HDMI CEC (Consumer Electronics Control),
840dbacebeSHans Verkuil	  which is an optional HDMI feature.
850dbacebeSHans Verkuil
860dbacebeSHans Verkuil	  Say Y when you have an HDMI receiver, transmitter or a USB CEC
870dbacebeSHans Verkuil	  adapter that supports HDMI CEC.
880dbacebeSHans Verkuil
8956a263aaSHans Verkuilsource "drivers/media/cec/Kconfig"
906917a7b7SHans Verkuil
91b4c184e5SMauro Carvalho Chehab#
92cf4b9211SLaurent Pinchart# Media controller
93b4c184e5SMauro Carvalho Chehab#	Selectable only for webcam/grabbers, as other drivers don't use it
94cf4b9211SLaurent Pinchart#
95cf4b9211SLaurent Pinchart
96cf4b9211SLaurent Pinchartconfig MEDIA_CONTROLLER
9751e8cb74SKees Cook	bool "Media Controller API"
98a0246e02SMauro Carvalho Chehab	depends on MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT
99b60a5b8dSMauro Carvalho Chehab	help
100cf4b9211SLaurent Pinchart	  Enable the media controller API used to query media devices internal
101cf4b9211SLaurent Pinchart	  topology and configure it dynamically.
102cf4b9211SLaurent Pinchart
103cf4b9211SLaurent Pinchart	  This API is mostly used by camera interfaces in embedded platforms.
104cf4b9211SLaurent Pinchart
105a0246e02SMauro Carvalho Chehabconfig MEDIA_CONTROLLER_DVB
106c3f22501SMauro Carvalho Chehab	bool "Enable Media controller for DVB (EXPERIMENTAL)"
107a4afb3edSMauro Carvalho Chehab	depends on MEDIA_CONTROLLER && DVB_CORE
108b60a5b8dSMauro Carvalho Chehab	help
109a0246e02SMauro Carvalho Chehab	  Enable the media controller API support for DVB.
110a0246e02SMauro Carvalho Chehab
111a0246e02SMauro Carvalho Chehab	  This is currently experimental.
112a0246e02SMauro Carvalho Chehab
113078ab3eaSSakari Ailusconfig MEDIA_CONTROLLER_REQUEST_API
114078ab3eaSSakari Ailus	bool "Enable Media controller Request API (EXPERIMENTAL)"
115078ab3eaSSakari Ailus	depends on MEDIA_CONTROLLER && STAGING_MEDIA
116078ab3eaSSakari Ailus	default n
117b60a5b8dSMauro Carvalho Chehab	help
118078ab3eaSSakari Ailus	  DO NOT ENABLE THIS OPTION UNLESS YOU KNOW WHAT YOU'RE DOING.
119078ab3eaSSakari Ailus
120078ab3eaSSakari Ailus	  This option enables the Request API for the Media controller and V4L2
121078ab3eaSSakari Ailus	  interfaces. It is currently needed by a few stateless codec drivers.
122078ab3eaSSakari Ailus
123078ab3eaSSakari Ailus	  There is currently no intention to provide API or ABI stability for
124078ab3eaSSakari Ailus	  this new API as of yet.
125078ab3eaSSakari Ailus
126cf4b9211SLaurent Pinchart#
127b4c184e5SMauro Carvalho Chehab# Video4Linux support
128b4c184e5SMauro Carvalho Chehab#	Only enables if one of the V4L2 types (ATV, webcam, radio) is selected
1297c91f062SMauro Carvalho Chehab#
1307c91f062SMauro Carvalho Chehab
1311da177e4SLinus Torvaldsconfig VIDEO_DEV
132b4c184e5SMauro Carvalho Chehab	tristate
133b4c184e5SMauro Carvalho Chehab	depends on MEDIA_SUPPORT
134435ef148SAntti Palosaari	depends on MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_RADIO_SUPPORT || MEDIA_SDR_SUPPORT
135b4c184e5SMauro Carvalho Chehab	default y
1361da177e4SLinus Torvalds
1377cd5a16bSStanimir Varbanovconfig VIDEO_V4L2_SUBDEV_API
13851e8cb74SKees Cook	bool "V4L2 sub-device userspace API"
13951e8cb74SKees Cook	depends on VIDEO_DEV && MEDIA_CONTROLLER
140b60a5b8dSMauro Carvalho Chehab	help
1417cd5a16bSStanimir Varbanov	  Enables the V4L2 sub-device pad-level userspace API used to configure
1427cd5a16bSStanimir Varbanov	  video format, size and frame rate between hardware blocks.
1437cd5a16bSStanimir Varbanov
1447cd5a16bSStanimir Varbanov	  This API is mostly used by camera interfaces in embedded platforms.
1457cd5a16bSStanimir Varbanov
146f0af8fa4SMauro Carvalho Chehabsource "drivers/media/v4l2-core/Kconfig"
147f0af8fa4SMauro Carvalho Chehab
1487c91f062SMauro Carvalho Chehab#
1497c91f062SMauro Carvalho Chehab# DVB Core
150b4c184e5SMauro Carvalho Chehab#	Only enables if one of DTV is selected
1517c91f062SMauro Carvalho Chehab#
152cd41e28eSMauro Carvalho Chehab
1537c91f062SMauro Carvalho Chehabconfig DVB_CORE
154b4c184e5SMauro Carvalho Chehab	tristate
155b4c184e5SMauro Carvalho Chehab	depends on MEDIA_SUPPORT
156b4c184e5SMauro Carvalho Chehab	depends on MEDIA_DIGITAL_TV_SUPPORT
15788327305SMauro Carvalho Chehab	depends on (I2C || I2C=n)
158b4c184e5SMauro Carvalho Chehab	default y
1597c91f062SMauro Carvalho Chehab	select CRC32
1607c91f062SMauro Carvalho Chehab
1614021053eSMauro Carvalho Chehabconfig DVB_MMAP
1624021053eSMauro Carvalho Chehab	bool "Enable DVB memory-mapped API (EXPERIMENTAL)"
1634021053eSMauro Carvalho Chehab	depends on DVB_CORE
16485e60bd7SArnd Bergmann	depends on VIDEO_V4L2=y || VIDEO_V4L2=DVB_CORE
16585e60bd7SArnd Bergmann	select VIDEOBUF2_VMALLOC
1664021053eSMauro Carvalho Chehab	default n
1674021053eSMauro Carvalho Chehab	help
1682c27476eSMichael Ira Krufky	  This option enables DVB experimental memory-mapped API, which
1694021053eSMauro Carvalho Chehab	  reduces the number of context switches to read DVB buffers, as
1704021053eSMauro Carvalho Chehab	  the buffers can use mmap() syscalls.
1714021053eSMauro Carvalho Chehab
1724021053eSMauro Carvalho Chehab	  Support for it is experimental. Use with care. If unsure,
1734021053eSMauro Carvalho Chehab	  say N.
1744021053eSMauro Carvalho Chehab
175a34ff6cdSHans Petter Selaskyconfig DVB_NET
176a34ff6cdSHans Petter Selasky	bool "DVB Network Support"
177a34ff6cdSHans Petter Selasky	default (NET && INET)
1788c528d5eSGuennadi Liakhovetski	depends on NET && INET && DVB_CORE
179a34ff6cdSHans Petter Selasky	help
1809a78efc8SJiri Slaby	  This option enables DVB Network Support which is a part of the DVB
1819a78efc8SJiri Slaby	  standard. It is used, for example, by automatic firmware updates used
1829a78efc8SJiri Slaby	  on Set-Top-Boxes. It can also be used to access the Internet via the
1839a78efc8SJiri Slaby	  DVB card, if the network provider supports it.
184a34ff6cdSHans Petter Selasky
1859a78efc8SJiri Slaby	  You may want to disable the network support on embedded devices. If
1869a78efc8SJiri Slaby	  unsure say Y.
187a34ff6cdSHans Petter Selasky
1885d92bbe6SMauro Carvalho Chehab# This Kconfig option is used by both PCI and USB drivers
1895d92bbe6SMauro Carvalho Chehabconfig TTPCI_EEPROM
1905d92bbe6SMauro Carvalho Chehab	tristate
1915d92bbe6SMauro Carvalho Chehab	depends on I2C
1925d92bbe6SMauro Carvalho Chehab	default n
1935d92bbe6SMauro Carvalho Chehab
194f0af8fa4SMauro Carvalho Chehabsource "drivers/media/dvb-core/Kconfig"
195f0af8fa4SMauro Carvalho Chehab
196c455f5c8SMauro Carvalho Chehabcomment "Media drivers"
1977c91f062SMauro Carvalho Chehab
1987c91f062SMauro Carvalho Chehab#
199cb7a01acSMauro Carvalho Chehab# V4L platform/mem2mem drivers
200cb7a01acSMauro Carvalho Chehab#
2011da177e4SLinus Torvalds
202786baecfSMauro Carvalho Chehabsource "drivers/media/usb/Kconfig"
2033c8c09b5SMauro Carvalho Chehabsource "drivers/media/pci/Kconfig"
2043c8c09b5SMauro Carvalho Chehabsource "drivers/media/platform/Kconfig"
2050013ca8cSMauro Carvalho Chehabsource "drivers/media/mmc/Kconfig"
2063c8c09b5SMauro Carvalho Chehabsource "drivers/media/radio/Kconfig"
2071da177e4SLinus Torvalds
208616300bdSMauro Carvalho Chehabcomment "Supported FireWire (IEEE 1394) Adapters"
209616300bdSMauro Carvalho Chehab	depends on DVB_CORE && FIREWIRE
210616300bdSMauro Carvalho Chehabsource "drivers/media/firewire/Kconfig"
211616300bdSMauro Carvalho Chehab
2123c8c09b5SMauro Carvalho Chehab# Common driver options
2133785bc17SMauro Carvalho Chehabsource "drivers/media/common/Kconfig"
2143785bc17SMauro Carvalho Chehab
2158283a092SHans Verkuilcomment "Media ancillary drivers (tuners, sensors, i2c, spi, frontends)"
2165344fe6eSHans Verkuil
2173c8c09b5SMauro Carvalho Chehab#
2188283a092SHans Verkuil# Ancillary drivers (tuners, i2c, spi, frontends)
2193c8c09b5SMauro Carvalho Chehab#
2203c8c09b5SMauro Carvalho Chehab
221fccea74fSMauro Carvalho Chehabconfig MEDIA_SUBDRV_AUTOSELECT
2228283a092SHans Verkuil	bool "Autoselect ancillary drivers (tuners, sensors, i2c, spi, frontends)"
223435ef148SAntti Palosaari	depends on MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_CAMERA_SUPPORT || MEDIA_SDR_SUPPORT
224347f7a37SMauro Carvalho Chehab	depends on HAS_IOMEM
225347f7a37SMauro Carvalho Chehab	select I2C
226347f7a37SMauro Carvalho Chehab	select I2C_MUX
227fccea74fSMauro Carvalho Chehab	default y
228fccea74fSMauro Carvalho Chehab	help
2295344fe6eSHans Verkuil	  By default, a media driver auto-selects all possible ancillary
2305344fe6eSHans Verkuil	  devices such as tuners, sensors, video encoders/decoders and
2315344fe6eSHans Verkuil	  frontends, that are used by any of the supported devices.
232fccea74fSMauro Carvalho Chehab
233fccea74fSMauro Carvalho Chehab	  This is generally the right thing to do, except when there
2342c76a12aSMauro Carvalho Chehab	  are strict constraints with regards to the kernel size,
2352c76a12aSMauro Carvalho Chehab	  like on embedded systems.
236fccea74fSMauro Carvalho Chehab
2372c76a12aSMauro Carvalho Chehab	  Use this option with care, as deselecting ancillary drivers which
2382c76a12aSMauro Carvalho Chehab	  are, in fact, necessary will result in the lack of the needed
2392c76a12aSMauro Carvalho Chehab	  functionality for your device (it may not tune or may not have
2405344fe6eSHans Verkuil	  the needed demodulators).
241fccea74fSMauro Carvalho Chehab
242fccea74fSMauro Carvalho Chehab	  If unsure say Y.
243bb69ee27SMauro Carvalho Chehab
244bb69ee27SMauro Carvalho Chehabconfig MEDIA_ATTACH
245bb69ee27SMauro Carvalho Chehab	bool
246bb69ee27SMauro Carvalho Chehab	depends on MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_RADIO_SUPPORT
247bb69ee27SMauro Carvalho Chehab	depends on MODULES
248bb69ee27SMauro Carvalho Chehab	default MODULES
249fccea74fSMauro Carvalho Chehab
2503c8c09b5SMauro Carvalho Chehabsource "drivers/media/i2c/Kconfig"
2518283a092SHans Verkuilsource "drivers/media/spi/Kconfig"
252fccea74fSMauro Carvalho Chehabsource "drivers/media/tuners/Kconfig"
2533c8c09b5SMauro Carvalho Chehabsource "drivers/media/dvb-frontends/Kconfig"
2543c8c09b5SMauro Carvalho Chehab
255ab482a6cSRandy Dunlapendif # MEDIA_SUPPORT
256