xref: /linux/drivers/media/Kconfig (revision 7aacf86b75bc5523d20fd9127104384fce51ce9c)
1#
2# Multimedia device configuration
3#
4
5config CEC_CORE
6	tristate
7
8config CEC_NOTIFIER
9	bool
10
11menuconfig MEDIA_SUPPORT
12	tristate "Multimedia support"
13	depends on HAS_IOMEM
14	help
15	  If you want to use Webcams, Video grabber devices and/or TV devices
16	  enable this option and other options below.
17	  Additional info and docs are available on the web at
18	  <https://linuxtv.org>
19
20if MEDIA_SUPPORT
21
22comment "Multimedia core support"
23
24#
25# Multimedia support - automatically enable V4L2 and DVB core
26#
27config MEDIA_CAMERA_SUPPORT
28	bool "Cameras/video grabbers support"
29	---help---
30	  Enable support for webcams and video grabbers.
31
32	  Say Y when you have a webcam or a video capture grabber board.
33
34config MEDIA_ANALOG_TV_SUPPORT
35	bool "Analog TV support"
36	---help---
37	  Enable analog TV support.
38
39	  Say Y when you have a TV board with analog support or with a
40	  hybrid analog/digital TV chipset.
41
42	  Note: There are several DVB cards that are based on chips that
43		support both analog and digital TV. Disabling this option
44		will disable support for them.
45
46config MEDIA_DIGITAL_TV_SUPPORT
47	bool "Digital TV support"
48	---help---
49	  Enable digital TV support.
50
51	  Say Y when you have a board with digital support or a board with
52	  hybrid digital TV and analog TV.
53
54config MEDIA_RADIO_SUPPORT
55	bool "AM/FM radio receivers/transmitters support"
56	---help---
57	  Enable AM/FM radio support.
58
59	  Additional info and docs are available on the web at
60	  <https://linuxtv.org>
61
62	  Say Y when you have a board with radio support.
63
64	  Note: There are several TV cards that are based on chips that
65		support radio reception. Disabling this option will
66		disable support for them.
67
68config MEDIA_SDR_SUPPORT
69	bool "Software defined radio support"
70	---help---
71	  Enable software defined radio support.
72
73	  Say Y when you have a software defined radio device.
74
75config MEDIA_RC_SUPPORT
76	bool "Remote Controller support"
77	depends on INPUT
78	---help---
79	  Enable support for Remote Controllers on Linux. This is
80	  needed in order to support several video capture adapters,
81	  standalone IR receivers/transmitters, and RF receivers.
82
83	  Enable this option if you have a video capture board even
84	  if you don't need IR, as otherwise, you may not be able to
85	  compile the driver for your adapter.
86
87	  Say Y when you have a TV or an IR device.
88
89config MEDIA_CEC_SUPPORT
90       bool "HDMI CEC support"
91       ---help---
92         Enable support for HDMI CEC (Consumer Electronics Control),
93         which is an optional HDMI feature.
94
95         Say Y when you have an HDMI receiver, transmitter or a USB CEC
96         adapter that supports HDMI CEC.
97
98source "drivers/media/cec/Kconfig"
99
100#
101# Media controller
102#	Selectable only for webcam/grabbers, as other drivers don't use it
103#
104
105config MEDIA_CONTROLLER
106	bool "Media Controller API"
107	depends on MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT
108	---help---
109	  Enable the media controller API used to query media devices internal
110	  topology and configure it dynamically.
111
112	  This API is mostly used by camera interfaces in embedded platforms.
113
114config MEDIA_CONTROLLER_DVB
115	bool "Enable Media controller for DVB (EXPERIMENTAL)"
116	depends on MEDIA_CONTROLLER && DVB_CORE
117	---help---
118	  Enable the media controller API support for DVB.
119
120	  This is currently experimental.
121
122#
123# Video4Linux support
124#	Only enables if one of the V4L2 types (ATV, webcam, radio) is selected
125#
126
127config VIDEO_DEV
128	tristate
129	depends on MEDIA_SUPPORT
130	depends on MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_RADIO_SUPPORT || MEDIA_SDR_SUPPORT
131	default y
132
133config VIDEO_V4L2_SUBDEV_API
134	bool "V4L2 sub-device userspace API"
135	depends on VIDEO_DEV && MEDIA_CONTROLLER
136	---help---
137	  Enables the V4L2 sub-device pad-level userspace API used to configure
138	  video format, size and frame rate between hardware blocks.
139
140	  This API is mostly used by camera interfaces in embedded platforms.
141
142source "drivers/media/v4l2-core/Kconfig"
143
144#
145# DVB Core
146#	Only enables if one of DTV is selected
147#
148
149config DVB_CORE
150	tristate
151	depends on MEDIA_SUPPORT
152	depends on MEDIA_DIGITAL_TV_SUPPORT
153	default y
154	select CRC32
155
156config DVB_NET
157	bool "DVB Network Support"
158	default (NET && INET)
159	depends on NET && INET && DVB_CORE
160	help
161	  This option enables DVB Network Support which is a part of the DVB
162	  standard. It is used, for example, by automatic firmware updates used
163	  on Set-Top-Boxes. It can also be used to access the Internet via the
164	  DVB card, if the network provider supports it.
165
166	  You may want to disable the network support on embedded devices. If
167	  unsure say Y.
168
169# This Kconfig option is used by both PCI and USB drivers
170config TTPCI_EEPROM
171	tristate
172	depends on I2C
173	default n
174
175source "drivers/media/dvb-core/Kconfig"
176
177comment "Media drivers"
178source "drivers/media/rc/Kconfig"
179
180#
181# V4L platform/mem2mem drivers
182#
183
184source "drivers/media/usb/Kconfig"
185source "drivers/media/pci/Kconfig"
186source "drivers/media/platform/Kconfig"
187source "drivers/media/mmc/Kconfig"
188source "drivers/media/radio/Kconfig"
189
190comment "Supported FireWire (IEEE 1394) Adapters"
191	depends on DVB_CORE && FIREWIRE
192source "drivers/media/firewire/Kconfig"
193
194# Common driver options
195source "drivers/media/common/Kconfig"
196
197comment "Media ancillary drivers (tuners, sensors, i2c, spi, frontends)"
198
199#
200# Ancillary drivers (tuners, i2c, spi, frontends)
201#
202
203config MEDIA_SUBDRV_AUTOSELECT
204	bool "Autoselect ancillary drivers (tuners, sensors, i2c, spi, frontends)"
205	depends on MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_CAMERA_SUPPORT || MEDIA_SDR_SUPPORT
206	depends on HAS_IOMEM
207	select I2C
208	select I2C_MUX
209	default y
210	help
211	  By default, a media driver auto-selects all possible ancillary
212	  devices such as tuners, sensors, video encoders/decoders and
213	  frontends, that are used by any of the supported devices.
214
215	  This is generally the right thing to do, except when there
216	  are strict constraints with regards to the kernel size,
217	  like on embedded systems.
218
219	  Use this option with care, as deselecting ancillary drivers which
220	  are, in fact, necessary will result in the lack of the needed
221	  functionality for your device (it may not tune or may not have
222	  the needed demodulators).
223
224	  If unsure say Y.
225
226config MEDIA_ATTACH
227	bool
228	depends on MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_RADIO_SUPPORT
229	depends on MODULES
230	default MODULES
231
232source "drivers/media/i2c/Kconfig"
233source "drivers/media/spi/Kconfig"
234source "drivers/media/tuners/Kconfig"
235source "drivers/media/dvb-frontends/Kconfig"
236
237endif # MEDIA_SUPPORT
238