]>
Commit | Line | Data |
---|---|---|
ec8f24b7 | 1 | # SPDX-License-Identifier: GPL-2.0-only |
1da177e4 LT |
2 | # |
3 | # Multimedia device configuration | |
4 | # | |
5 | ||
9393d050 | 6 | # |
46d2a3b9 | 7 | # NOTE: CEC and Remote Controller support should not depend on MEDIA_SUPPORT |
9393d050 | 8 | # |
b9e1486e | 9 | source "drivers/media/rc/Kconfig" |
46d2a3b9 | 10 | source "drivers/media/cec/Kconfig" |
b9e1486e | 11 | |
ab482a6c RD |
12 | menuconfig MEDIA_SUPPORT |
13 | tristate "Multimedia support" | |
e25df120 | 14 | depends on HAS_IOMEM |
ab482a6c | 15 | help |
dee1877d MCC |
16 | If you want to use media devices, including Webcams, Video grabber |
17 | devices and/or TV devices, V4L2 codecs, etc, enable this option | |
18 | and other options below. | |
19 | ||
b4c184e5 | 20 | Additional info and docs are available on the web at |
991ce92f | 21 | <https://linuxtv.org> |
ab482a6c | 22 | |
c6774ee0 MCC |
23 | if MEDIA_SUPPORT |
24 | ||
25 | config MEDIA_SUPPORT_FILTER | |
ce971d95 | 26 | bool "Filter media drivers" |
f7ec3f62 | 27 | default y if !EXPERT |
c6774ee0 MCC |
28 | help |
29 | Configuring the media subsystem can be complex, as there are | |
30 | hundreds of drivers and other config options. | |
31 | ||
32 | This menu offers option that will help the Kernel's config | |
33 | system to hide drivers that are out of the scope of the | |
34 | user needs, and disabling core support for unused APIs. | |
35 | ||
36 | If not selected, all non-optional media core functionality | |
37 | needed to support media drivers will be enabled. Also, all | |
38 | media device drivers should be shown. | |
39 | ||
1b80d36a MCC |
40 | config MEDIA_SUBDRV_AUTOSELECT |
41 | bool "Autoselect ancillary drivers (tuners, sensors, i2c, spi, frontends)" | |
42 | depends on HAS_IOMEM | |
43 | select I2C | |
44 | select I2C_MUX | |
45 | default y if MEDIA_SUPPORT_FILTER | |
46 | help | |
47 | By default, a media driver auto-selects all possible ancillary | |
48 | devices such as tuners, sensors, video encoders/decoders and | |
49 | frontends, that are used by any of the supported devices. | |
50 | ||
51 | This is generally the right thing to do, except when there | |
52 | are strict constraints with regards to the kernel size, | |
53 | like on embedded systems. | |
54 | ||
55 | Use this option with care, as deselecting ancillary drivers which | |
56 | are, in fact, necessary will result in the lack of the needed | |
57 | functionality for your device (it may not tune or may not have | |
58 | the needed demodulators). | |
59 | ||
60 | If unsure say Y. | |
61 | ||
c6774ee0 | 62 | menu "Media device types" |
7c91f062 | 63 | |
b4c184e5 MCC |
64 | # |
65 | # Multimedia support - automatically enable V4L2 and DVB core | |
66 | # | |
67 | config MEDIA_CAMERA_SUPPORT | |
b6a7d1bc MCC |
68 | bool |
69 | prompt "Cameras and video grabbers" if MEDIA_SUPPORT_FILTER | |
c6774ee0 | 70 | default y if !MEDIA_SUPPORT_FILTER |
b60a5b8d | 71 | help |
b4c184e5 MCC |
72 | Enable support for webcams and video grabbers. |
73 | ||
74 | Say Y when you have a webcam or a video capture grabber board. | |
75 | ||
76 | config MEDIA_ANALOG_TV_SUPPORT | |
b6a7d1bc MCC |
77 | bool |
78 | prompt "Analog TV" if MEDIA_SUPPORT_FILTER | |
c6774ee0 | 79 | default y if !MEDIA_SUPPORT_FILTER |
b60a5b8d | 80 | help |
b4c184e5 MCC |
81 | Enable analog TV support. |
82 | ||
85f7cd3a MCC |
83 | Say Y when you have a TV board with analog support or with a |
84 | hybrid analog/digital TV chipset. | |
85 | ||
86 | Note: There are several DVB cards that are based on chips that | |
87 | support both analog and digital TV. Disabling this option | |
88 | will disable support for them. | |
b4c184e5 MCC |
89 | |
90 | config MEDIA_DIGITAL_TV_SUPPORT | |
b6a7d1bc MCC |
91 | bool |
92 | prompt "Digital TV" if MEDIA_SUPPORT_FILTER | |
c6774ee0 | 93 | default y if !MEDIA_SUPPORT_FILTER |
b60a5b8d | 94 | help |
b4c184e5 MCC |
95 | Enable digital TV support. |
96 | ||
85f7cd3a MCC |
97 | Say Y when you have a board with digital support or a board with |
98 | hybrid digital TV and analog TV. | |
b4c184e5 MCC |
99 | |
100 | config MEDIA_RADIO_SUPPORT | |
b6a7d1bc MCC |
101 | bool |
102 | prompt "AM/FM radio receivers/transmitters" if MEDIA_SUPPORT_FILTER | |
c6774ee0 | 103 | default y if !MEDIA_SUPPORT_FILTER |
b60a5b8d | 104 | help |
b4c184e5 MCC |
105 | Enable AM/FM radio support. |
106 | ||
107 | Additional info and docs are available on the web at | |
991ce92f | 108 | <https://linuxtv.org> |
b4c184e5 MCC |
109 | |
110 | Say Y when you have a board with radio support. | |
111 | ||
85f7cd3a MCC |
112 | Note: There are several TV cards that are based on chips that |
113 | support radio reception. Disabling this option will | |
114 | disable support for them. | |
115 | ||
435ef148 | 116 | config MEDIA_SDR_SUPPORT |
b6a7d1bc MCC |
117 | bool |
118 | prompt "Software defined radio" if MEDIA_SUPPORT_FILTER | |
c6774ee0 | 119 | default y if !MEDIA_SUPPORT_FILTER |
b60a5b8d | 120 | help |
435ef148 AP |
121 | Enable software defined radio support. |
122 | ||
123 | Say Y when you have a software defined radio device. | |
124 | ||
06b93644 | 125 | config MEDIA_PLATFORM_SUPPORT |
b6a7d1bc MCC |
126 | bool |
127 | prompt "Platform-specific devices" if MEDIA_SUPPORT_FILTER | |
c6774ee0 | 128 | default y if !MEDIA_SUPPORT_FILTER |
06b93644 MCC |
129 | help |
130 | Enable support for complex cameras, codecs, and other hardware | |
131 | that are integrated at the CPU, GPU or on Image Signalling Processor | |
132 | and don't use PCI, USB or Firewire buses. | |
133 | ||
134 | This is found on Embedded hardware (SoC), on V4L2 codecs and | |
135 | on some GPU and newer CPU chipsets. | |
136 | ||
aa966274 | 137 | Say Y when you want to be able to see such devices. |
06b93644 | 138 | |
4b32216a | 139 | config MEDIA_TEST_SUPPORT |
b6a7d1bc MCC |
140 | bool |
141 | prompt "Test drivers" if MEDIA_SUPPORT_FILTER | |
c6774ee0 | 142 | default y if !MEDIA_SUPPORT_FILTER |
4b32216a | 143 | help |
09f4d151 RD |
144 | These drivers should not be used on production kernels, but |
145 | can be useful on debug ones. This option enables several dummy drivers | |
146 | that simulate real hardware. Very useful to test userspace | |
147 | applications and to validate if the subsystem core doesn't | |
4b32216a MCC |
148 | have regressions. |
149 | ||
150 | Say Y if you want to use some virtual test driver. | |
151 | ||
152 | In case of doubts, say N. | |
c39d5704 | 153 | Say Y when you have a software defined radio device. |
c6774ee0 | 154 | endmenu # media device types |
4b32216a | 155 | |
078ab3ea | 156 | |
5e9e60f4 MCC |
157 | menu "Media core support" |
158 | visible if !MEDIA_SUPPORT_FILTER | |
7c91f062 | 159 | |
1da177e4 | 160 | config VIDEO_DEV |
85f7cd3a MCC |
161 | tristate "Video4Linux core" |
162 | default MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_RADIO_SUPPORT || MEDIA_SDR_SUPPORT || MEDIA_PLATFORM_SUPPORT || MEDIA_TEST_SUPPORT | |
9958d30f MCC |
163 | depends on (I2C || I2C=n) |
164 | select RATIONAL | |
165 | select VIDEOBUF2_V4L2 if VIDEOBUF2_CORE | |
5e9e60f4 MCC |
166 | help |
167 | Enables the V4L2 API, used by cameras, analog TV, video grabbers, | |
168 | radio devices and by some input devices. | |
1da177e4 | 169 | |
8fc42fff MCC |
170 | config MEDIA_CONTROLLER |
171 | bool "Media Controller API" | |
172 | default MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_PLATFORM_SUPPORT | |
173 | help | |
174 | Enable the media controller API used to query media devices internal | |
175 | topology and configure it dynamically. | |
176 | ||
177 | This API is mostly used by camera interfaces in embedded platforms. | |
178 | ||
7c91f062 MCC |
179 | # |
180 | # DVB Core | |
b4c184e5 | 181 | # Only enables if one of DTV is selected |
7c91f062 | 182 | # |
1da177e4 | 183 | |
7c91f062 | 184 | config DVB_CORE |
7655c342 | 185 | tristate "DVB Core" |
b4c184e5 | 186 | depends on MEDIA_DIGITAL_TV_SUPPORT |
88327305 | 187 | depends on (I2C || I2C=n) |
8e5b5d75 | 188 | default MEDIA_DIGITAL_TV_SUPPORT |
7c91f062 | 189 | select CRC32 |
4021053e | 190 | help |
5e9e60f4 MCC |
191 | Enables the DVB API, used by Digital TV devices. Supports several |
192 | standards, including DVB, ATSC, ISDB and CMDB. | |
4021053e | 193 | |
5e9e60f4 | 194 | endmenu # Media core support |
4021053e | 195 | |
5e9e60f4 MCC |
196 | # |
197 | # Extra per-media API core functionality | |
a34ff6cd | 198 | |
0c822d97 MCC |
199 | menu "Video4Linux options" |
200 | visible if VIDEO_DEV | |
201 | ||
7d5bc693 | 202 | source "drivers/media/v4l2-core/Kconfig" |
0c822d97 MCC |
203 | endmenu |
204 | ||
205 | menu "Media controller options" | |
206 | visible if MEDIA_CONTROLLER | |
207 | ||
7d5bc693 | 208 | source "drivers/media/mc/Kconfig" |
0c822d97 MCC |
209 | endmenu |
210 | ||
211 | menu "Digital TV options" | |
212 | visible if DVB_CORE | |
213 | ||
f0af8fa4 | 214 | source "drivers/media/dvb-core/Kconfig" |
0c822d97 MCC |
215 | endmenu |
216 | ||
5e9e60f4 | 217 | menu "Media drivers" |
c1accaa2 | 218 | |
ce971d95 MCC |
219 | comment "Drivers filtered as selected at 'Filter media drivers'" |
220 | depends on MEDIA_SUPPORT_FILTER | |
221 | ||
d7700ca9 MCC |
222 | comment "Media drivers" |
223 | ||
786baecf | 224 | source "drivers/media/usb/Kconfig" |
3c8c09b5 | 225 | source "drivers/media/pci/Kconfig" |
06b93644 MCC |
226 | source "drivers/media/radio/Kconfig" |
227 | ||
228 | if MEDIA_PLATFORM_SUPPORT | |
3c8c09b5 | 229 | source "drivers/media/platform/Kconfig" |
0013ca8c | 230 | source "drivers/media/mmc/Kconfig" |
06b93644 | 231 | endif |
1da177e4 | 232 | |
ffb2e008 | 233 | if MEDIA_TEST_SUPPORT |
dacca5f0 | 234 | source "drivers/media/test-drivers/Kconfig" |
ffb2e008 GT |
235 | endif |
236 | ||
616300bd MCC |
237 | source "drivers/media/firewire/Kconfig" |
238 | ||
d7700ca9 MCC |
239 | # Common driver options |
240 | source "drivers/media/common/Kconfig" | |
241 | ||
5e9e60f4 MCC |
242 | endmenu |
243 | ||
3c8c09b5 | 244 | # |
8283a092 | 245 | # Ancillary drivers (tuners, i2c, spi, frontends) |
3c8c09b5 MCC |
246 | # |
247 | ||
4fa4ef39 | 248 | config MEDIA_HIDE_ANCILLARY_SUBDRV |
1498dfba KK |
249 | bool |
250 | depends on MEDIA_SUBDRV_AUTOSELECT && !COMPILE_TEST && !EXPERT | |
251 | default y | |
4fa4ef39 | 252 | |
1b80d36a | 253 | menu "Media ancillary drivers" |
1b80d36a | 254 | |
bb69ee27 MCC |
255 | config MEDIA_ATTACH |
256 | bool | |
257 | depends on MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_RADIO_SUPPORT | |
258 | depends on MODULES | |
259 | default MODULES | |
260 | ||
3c8c09b5 | 261 | source "drivers/media/i2c/Kconfig" |
8283a092 | 262 | source "drivers/media/spi/Kconfig" |
fccea74f | 263 | source "drivers/media/tuners/Kconfig" |
3c8c09b5 MCC |
264 | source "drivers/media/dvb-frontends/Kconfig" |
265 | ||
5e9e60f4 MCC |
266 | endmenu |
267 | ||
ab482a6c | 268 | endif # MEDIA_SUPPORT |