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