Commit | Line | Data |
---|---|---|
ec8f24b7 | 1 | # SPDX-License-Identifier: GPL-2.0-only |
1da177e4 LT |
2 | # |
3 | # Multimedia device configuration | |
4 | # | |
5 | ||
9177e51d HV |
6 | config CEC_CORE |
7 | tristate | |
8 | ||
e94c3281 | 9 | config CEC_NOTIFIER |
9177e51d HV |
10 | bool |
11 | ||
ea5c8ef2 HV |
12 | config CEC_PIN |
13 | bool | |
14 | ||
b9e1486e SY |
15 | source "drivers/media/rc/Kconfig" |
16 | ||
ab482a6c RD |
17 | menuconfig MEDIA_SUPPORT |
18 | tristate "Multimedia support" | |
e25df120 | 19 | depends on HAS_IOMEM |
ab482a6c | 20 | help |
b4c184e5 | 21 | If you want to use Webcams, Video grabber devices and/or TV devices |
ab482a6c | 22 | enable this option and other options below. |
b4c184e5 | 23 | Additional info and docs are available on the web at |
991ce92f | 24 | <https://linuxtv.org> |
ab482a6c RD |
25 | |
26 | if MEDIA_SUPPORT | |
1da177e4 | 27 | |
7c91f062 MCC |
28 | comment "Multimedia core support" |
29 | ||
b4c184e5 MCC |
30 | # |
31 | # Multimedia support - automatically enable V4L2 and DVB core | |
32 | # | |
33 | config MEDIA_CAMERA_SUPPORT | |
34 | bool "Cameras/video grabbers support" | |
b60a5b8d | 35 | help |
b4c184e5 MCC |
36 | Enable support for webcams and video grabbers. |
37 | ||
38 | Say Y when you have a webcam or a video capture grabber board. | |
39 | ||
40 | config MEDIA_ANALOG_TV_SUPPORT | |
41 | bool "Analog TV support" | |
b60a5b8d | 42 | help |
b4c184e5 MCC |
43 | Enable analog TV support. |
44 | ||
45 | Say Y when you have a TV board with analog support or with a | |
46 | hybrid analog/digital TV chipset. | |
47 | ||
48 | Note: There are several DVB cards that are based on chips that | |
49 | support both analog and digital TV. Disabling this option | |
50 | will disable support for them. | |
51 | ||
52 | config MEDIA_DIGITAL_TV_SUPPORT | |
53 | bool "Digital TV support" | |
b60a5b8d | 54 | help |
b4c184e5 MCC |
55 | Enable digital TV support. |
56 | ||
57 | Say Y when you have a board with digital support or a board with | |
58 | hybrid digital TV and analog TV. | |
59 | ||
60 | config MEDIA_RADIO_SUPPORT | |
61 | bool "AM/FM radio receivers/transmitters support" | |
b60a5b8d | 62 | help |
b4c184e5 MCC |
63 | Enable AM/FM radio support. |
64 | ||
65 | Additional info and docs are available on the web at | |
991ce92f | 66 | <https://linuxtv.org> |
b4c184e5 MCC |
67 | |
68 | Say Y when you have a board with radio support. | |
69 | ||
70 | Note: There are several TV cards that are based on chips that | |
71 | support radio reception. Disabling this option will | |
72 | disable support for them. | |
73 | ||
435ef148 AP |
74 | config MEDIA_SDR_SUPPORT |
75 | bool "Software defined radio support" | |
b60a5b8d | 76 | help |
435ef148 AP |
77 | Enable software defined radio support. |
78 | ||
79 | Say Y when you have a software defined radio device. | |
80 | ||
0dbacebe | 81 | config MEDIA_CEC_SUPPORT |
349da8ce | 82 | bool "HDMI CEC support" |
b60a5b8d | 83 | help |
349da8ce BL |
84 | Enable support for HDMI CEC (Consumer Electronics Control), |
85 | which is an optional HDMI feature. | |
0dbacebe | 86 | |
349da8ce BL |
87 | Say Y when you have an HDMI receiver, transmitter or a USB CEC |
88 | adapter that supports HDMI CEC. | |
29fb44a5 | 89 | |
56a263aa | 90 | source "drivers/media/cec/Kconfig" |
6917a7b7 | 91 | |
cf4b9211 LP |
92 | # |
93 | # Media controller | |
b4c184e5 | 94 | # Selectable only for webcam/grabbers, as other drivers don't use it |
cf4b9211 LP |
95 | # |
96 | ||
97 | config MEDIA_CONTROLLER | |
51e8cb74 | 98 | bool "Media Controller API" |
a0246e02 | 99 | depends on MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT |
b60a5b8d | 100 | help |
cf4b9211 LP |
101 | Enable the media controller API used to query media devices internal |
102 | topology and configure it dynamically. | |
103 | ||
104 | This API is mostly used by camera interfaces in embedded platforms. | |
105 | ||
a0246e02 | 106 | config MEDIA_CONTROLLER_DVB |
c3f22501 | 107 | bool "Enable Media controller for DVB (EXPERIMENTAL)" |
a4afb3ed | 108 | depends on MEDIA_CONTROLLER && DVB_CORE |
b60a5b8d | 109 | help |
a0246e02 MCC |
110 | Enable the media controller API support for DVB. |
111 | ||
112 | This is currently experimental. | |
113 | ||
078ab3ea SA |
114 | config MEDIA_CONTROLLER_REQUEST_API |
115 | bool "Enable Media controller Request API (EXPERIMENTAL)" | |
116 | depends on MEDIA_CONTROLLER && STAGING_MEDIA | |
117 | default n | |
b60a5b8d | 118 | help |
078ab3ea SA |
119 | DO NOT ENABLE THIS OPTION UNLESS YOU KNOW WHAT YOU'RE DOING. |
120 | ||
121 | This option enables the Request API for the Media controller and V4L2 | |
122 | interfaces. It is currently needed by a few stateless codec drivers. | |
123 | ||
124 | There is currently no intention to provide API or ABI stability for | |
125 | this new API as of yet. | |
126 | ||
7c91f062 | 127 | # |
b4c184e5 MCC |
128 | # Video4Linux support |
129 | # Only enables if one of the V4L2 types (ATV, webcam, radio) is selected | |
7c91f062 MCC |
130 | # |
131 | ||
1da177e4 | 132 | config VIDEO_DEV |
b4c184e5 MCC |
133 | tristate |
134 | depends on MEDIA_SUPPORT | |
435ef148 | 135 | depends on MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_RADIO_SUPPORT || MEDIA_SDR_SUPPORT |
b4c184e5 | 136 | default y |
1da177e4 | 137 | |
7cd5a16b | 138 | config VIDEO_V4L2_SUBDEV_API |
51e8cb74 KC |
139 | bool "V4L2 sub-device userspace API" |
140 | depends on VIDEO_DEV && MEDIA_CONTROLLER | |
b60a5b8d | 141 | help |
7cd5a16b SV |
142 | Enables the V4L2 sub-device pad-level userspace API used to configure |
143 | video format, size and frame rate between hardware blocks. | |
144 | ||
145 | This API is mostly used by camera interfaces in embedded platforms. | |
146 | ||
f0af8fa4 MCC |
147 | source "drivers/media/v4l2-core/Kconfig" |
148 | ||
7c91f062 MCC |
149 | # |
150 | # DVB Core | |
b4c184e5 | 151 | # Only enables if one of DTV is selected |
7c91f062 | 152 | # |
1da177e4 | 153 | |
7c91f062 | 154 | config DVB_CORE |
b4c184e5 MCC |
155 | tristate |
156 | depends on MEDIA_SUPPORT | |
157 | depends on MEDIA_DIGITAL_TV_SUPPORT | |
88327305 | 158 | depends on (I2C || I2C=n) |
b4c184e5 | 159 | default y |
7c91f062 | 160 | select CRC32 |
ca805d57 | 161 | |
4021053e MCC |
162 | config DVB_MMAP |
163 | bool "Enable DVB memory-mapped API (EXPERIMENTAL)" | |
164 | depends on DVB_CORE | |
85e60bd7 AB |
165 | depends on VIDEO_V4L2=y || VIDEO_V4L2=DVB_CORE |
166 | select VIDEOBUF2_VMALLOC | |
4021053e MCC |
167 | default n |
168 | help | |
2c27476e | 169 | This option enables DVB experimental memory-mapped API, which |
4021053e MCC |
170 | reduces the number of context switches to read DVB buffers, as |
171 | the buffers can use mmap() syscalls. | |
172 | ||
173 | Support for it is experimental. Use with care. If unsure, | |
174 | say N. | |
175 | ||
a34ff6cd HPS |
176 | config DVB_NET |
177 | bool "DVB Network Support" | |
178 | default (NET && INET) | |
8c528d5e | 179 | depends on NET && INET && DVB_CORE |
a34ff6cd | 180 | help |
9a78efc8 JS |
181 | This option enables DVB Network Support which is a part of the DVB |
182 | standard. It is used, for example, by automatic firmware updates used | |
183 | on Set-Top-Boxes. It can also be used to access the Internet via the | |
184 | DVB card, if the network provider supports it. | |
a34ff6cd | 185 | |
9a78efc8 JS |
186 | You may want to disable the network support on embedded devices. If |
187 | unsure say Y. | |
a34ff6cd | 188 | |
5d92bbe6 MCC |
189 | # This Kconfig option is used by both PCI and USB drivers |
190 | config TTPCI_EEPROM | |
bb69ee27 MCC |
191 | tristate |
192 | depends on I2C | |
193 | default n | |
5d92bbe6 | 194 | |
f0af8fa4 MCC |
195 | source "drivers/media/dvb-core/Kconfig" |
196 | ||
c455f5c8 | 197 | comment "Media drivers" |
c1accaa2 | 198 | |
7c91f062 | 199 | # |
cb7a01ac | 200 | # V4L platform/mem2mem drivers |
7c91f062 | 201 | # |
ea633741 | 202 | |
786baecf | 203 | source "drivers/media/usb/Kconfig" |
3c8c09b5 MCC |
204 | source "drivers/media/pci/Kconfig" |
205 | source "drivers/media/platform/Kconfig" | |
0013ca8c | 206 | source "drivers/media/mmc/Kconfig" |
3c8c09b5 | 207 | source "drivers/media/radio/Kconfig" |
1da177e4 | 208 | |
616300bd MCC |
209 | comment "Supported FireWire (IEEE 1394) Adapters" |
210 | depends on DVB_CORE && FIREWIRE | |
211 | source "drivers/media/firewire/Kconfig" | |
212 | ||
3c8c09b5 | 213 | # Common driver options |
3785bc17 MCC |
214 | source "drivers/media/common/Kconfig" |
215 | ||
8283a092 | 216 | comment "Media ancillary drivers (tuners, sensors, i2c, spi, frontends)" |
5344fe6e | 217 | |
3c8c09b5 | 218 | # |
8283a092 | 219 | # Ancillary drivers (tuners, i2c, spi, frontends) |
3c8c09b5 MCC |
220 | # |
221 | ||
fccea74f | 222 | config MEDIA_SUBDRV_AUTOSELECT |
8283a092 | 223 | bool "Autoselect ancillary drivers (tuners, sensors, i2c, spi, frontends)" |
435ef148 | 224 | depends on MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_CAMERA_SUPPORT || MEDIA_SDR_SUPPORT |
347f7a37 MCC |
225 | depends on HAS_IOMEM |
226 | select I2C | |
227 | select I2C_MUX | |
fccea74f MCC |
228 | default y |
229 | help | |
5344fe6e HV |
230 | By default, a media driver auto-selects all possible ancillary |
231 | devices such as tuners, sensors, video encoders/decoders and | |
232 | frontends, that are used by any of the supported devices. | |
fccea74f MCC |
233 | |
234 | This is generally the right thing to do, except when there | |
2c76a12a MCC |
235 | are strict constraints with regards to the kernel size, |
236 | like on embedded systems. | |
fccea74f | 237 | |
2c76a12a MCC |
238 | Use this option with care, as deselecting ancillary drivers which |
239 | are, in fact, necessary will result in the lack of the needed | |
240 | functionality for your device (it may not tune or may not have | |
5344fe6e | 241 | the needed demodulators). |
fccea74f MCC |
242 | |
243 | If unsure say Y. | |
244 | ||
bb69ee27 MCC |
245 | config MEDIA_ATTACH |
246 | bool | |
247 | depends on MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_RADIO_SUPPORT | |
248 | depends on MODULES | |
249 | default MODULES | |
250 | ||
3c8c09b5 | 251 | source "drivers/media/i2c/Kconfig" |
8283a092 | 252 | source "drivers/media/spi/Kconfig" |
fccea74f | 253 | source "drivers/media/tuners/Kconfig" |
3c8c09b5 MCC |
254 | source "drivers/media/dvb-frontends/Kconfig" |
255 | ||
ab482a6c | 256 | endif # MEDIA_SUPPORT |