.. | .. |
---|
| 1 | +# SPDX-License-Identifier: GPL-2.0-only |
---|
1 | 2 | # |
---|
2 | 3 | # Multimedia device configuration |
---|
3 | 4 | # |
---|
4 | 5 | |
---|
5 | | -config CEC_CORE |
---|
6 | | - tristate |
---|
7 | | - |
---|
8 | | -config CEC_NOTIFIER |
---|
9 | | - bool |
---|
10 | | - |
---|
11 | | -config CEC_PIN |
---|
12 | | - bool |
---|
13 | | - |
---|
| 6 | +# |
---|
| 7 | +# NOTE: CEC and Remote Controller support should not depend on MEDIA_SUPPORT |
---|
| 8 | +# |
---|
14 | 9 | source "drivers/media/rc/Kconfig" |
---|
| 10 | +source "drivers/media/cec/Kconfig" |
---|
15 | 11 | |
---|
16 | 12 | menuconfig MEDIA_SUPPORT |
---|
17 | 13 | tristate "Multimedia support" |
---|
18 | 14 | depends on HAS_IOMEM |
---|
19 | 15 | help |
---|
20 | | - If you want to use Webcams, Video grabber devices and/or TV devices |
---|
21 | | - enable this option and other options below. |
---|
| 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 | + |
---|
22 | 20 | Additional info and docs are available on the web at |
---|
23 | 21 | <https://linuxtv.org> |
---|
24 | 22 | |
---|
25 | 23 | if MEDIA_SUPPORT |
---|
26 | 24 | |
---|
27 | | -comment "Multimedia core support" |
---|
28 | | - |
---|
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 |
---|
65 | | - <https://linuxtv.org> |
---|
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 | | - |
---|
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 | | - |
---|
80 | | -config MEDIA_CEC_SUPPORT |
---|
81 | | - bool "HDMI CEC support" |
---|
82 | | - ---help--- |
---|
83 | | - Enable support for HDMI CEC (Consumer Electronics Control), |
---|
84 | | - which is an optional HDMI feature. |
---|
85 | | - |
---|
86 | | - Say Y when you have an HDMI receiver, transmitter or a USB CEC |
---|
87 | | - adapter that supports HDMI CEC. |
---|
88 | | - |
---|
89 | | -source "drivers/media/cec/Kconfig" |
---|
90 | | - |
---|
91 | | -# |
---|
92 | | -# Media controller |
---|
93 | | -# Selectable only for webcam/grabbers, as other drivers don't use it |
---|
94 | | -# |
---|
95 | | - |
---|
96 | | -config MEDIA_CONTROLLER |
---|
97 | | - bool "Media Controller API" |
---|
98 | | - depends on MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT |
---|
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 | | - |
---|
105 | | -config MEDIA_CONTROLLER_DVB |
---|
106 | | - bool "Enable Media controller for DVB (EXPERIMENTAL)" |
---|
107 | | - depends on MEDIA_CONTROLLER && DVB_CORE |
---|
108 | | - ---help--- |
---|
109 | | - Enable the media controller API support for DVB. |
---|
110 | | - |
---|
111 | | - This is currently experimental. |
---|
112 | | - |
---|
113 | | -# |
---|
114 | | -# Video4Linux support |
---|
115 | | -# Only enables if one of the V4L2 types (ATV, webcam, radio) is selected |
---|
116 | | -# |
---|
117 | | - |
---|
118 | | -config VIDEO_DEV |
---|
119 | | - tristate |
---|
| 25 | +config MEDIA_SUPPORT_FILTER |
---|
| 26 | + bool "Filter media drivers" |
---|
120 | 27 | depends on MEDIA_SUPPORT |
---|
121 | | - depends on MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_RADIO_SUPPORT || MEDIA_SDR_SUPPORT |
---|
122 | | - default y |
---|
123 | | - |
---|
124 | | -config VIDEO_V4L2_SUBDEV_API |
---|
125 | | - bool "V4L2 sub-device userspace API" |
---|
126 | | - depends on VIDEO_DEV && MEDIA_CONTROLLER |
---|
127 | | - ---help--- |
---|
128 | | - Enables the V4L2 sub-device pad-level userspace API used to configure |
---|
129 | | - video format, size and frame rate between hardware blocks. |
---|
130 | | - |
---|
131 | | - This API is mostly used by camera interfaces in embedded platforms. |
---|
132 | | - |
---|
133 | | -source "drivers/media/v4l2-core/Kconfig" |
---|
134 | | - |
---|
135 | | -# |
---|
136 | | -# DVB Core |
---|
137 | | -# Only enables if one of DTV is selected |
---|
138 | | -# |
---|
139 | | - |
---|
140 | | -config DVB_CORE |
---|
141 | | - tristate |
---|
142 | | - depends on MEDIA_SUPPORT |
---|
143 | | - depends on MEDIA_DIGITAL_TV_SUPPORT |
---|
144 | | - depends on (I2C || I2C=n) |
---|
145 | | - default y |
---|
146 | | - select CRC32 |
---|
147 | | - |
---|
148 | | -config DVB_MMAP |
---|
149 | | - bool "Enable DVB memory-mapped API (EXPERIMENTAL)" |
---|
150 | | - depends on DVB_CORE |
---|
151 | | - depends on VIDEO_V4L2=y || VIDEO_V4L2=DVB_CORE |
---|
152 | | - select VIDEOBUF2_VMALLOC |
---|
153 | | - default n |
---|
| 28 | + default y if !EMBEDDED && !EXPERT |
---|
154 | 29 | help |
---|
155 | | - This option enables DVB experimental memory-mapped API, which |
---|
156 | | - reduces the number of context switches to read DVB buffers, as |
---|
157 | | - the buffers can use mmap() syscalls. |
---|
| 30 | + Configuring the media subsystem can be complex, as there are |
---|
| 31 | + hundreds of drivers and other config options. |
---|
158 | 32 | |
---|
159 | | - Support for it is experimental. Use with care. If unsure, |
---|
160 | | - say N. |
---|
| 33 | + This menu offers option that will help the Kernel's config |
---|
| 34 | + system to hide drivers that are out of the scope of the |
---|
| 35 | + user needs, and disabling core support for unused APIs. |
---|
161 | 36 | |
---|
162 | | -config DVB_NET |
---|
163 | | - bool "DVB Network Support" |
---|
164 | | - default (NET && INET) |
---|
165 | | - depends on NET && INET && DVB_CORE |
---|
166 | | - help |
---|
167 | | - This option enables DVB Network Support which is a part of the DVB |
---|
168 | | - standard. It is used, for example, by automatic firmware updates used |
---|
169 | | - on Set-Top-Boxes. It can also be used to access the Internet via the |
---|
170 | | - DVB card, if the network provider supports it. |
---|
171 | | - |
---|
172 | | - You may want to disable the network support on embedded devices. If |
---|
173 | | - unsure say Y. |
---|
174 | | - |
---|
175 | | -# This Kconfig option is used by both PCI and USB drivers |
---|
176 | | -config TTPCI_EEPROM |
---|
177 | | - tristate |
---|
178 | | - depends on I2C |
---|
179 | | - default n |
---|
180 | | - |
---|
181 | | -source "drivers/media/dvb-core/Kconfig" |
---|
182 | | - |
---|
183 | | -comment "Media drivers" |
---|
184 | | - |
---|
185 | | -# |
---|
186 | | -# V4L platform/mem2mem drivers |
---|
187 | | -# |
---|
188 | | - |
---|
189 | | -source "drivers/media/usb/Kconfig" |
---|
190 | | -source "drivers/media/pci/Kconfig" |
---|
191 | | -source "drivers/media/platform/Kconfig" |
---|
192 | | -source "drivers/media/mmc/Kconfig" |
---|
193 | | -source "drivers/media/radio/Kconfig" |
---|
194 | | - |
---|
195 | | -comment "Supported FireWire (IEEE 1394) Adapters" |
---|
196 | | - depends on DVB_CORE && FIREWIRE |
---|
197 | | -source "drivers/media/firewire/Kconfig" |
---|
198 | | - |
---|
199 | | -# Common driver options |
---|
200 | | -source "drivers/media/common/Kconfig" |
---|
201 | | - |
---|
202 | | -comment "Media ancillary drivers (tuners, sensors, i2c, spi, frontends)" |
---|
203 | | - |
---|
204 | | -# |
---|
205 | | -# Ancillary drivers (tuners, i2c, spi, frontends) |
---|
206 | | -# |
---|
| 37 | + If not selected, all non-optional media core functionality |
---|
| 38 | + needed to support media drivers will be enabled. Also, all |
---|
| 39 | + media device drivers should be shown. |
---|
207 | 40 | |
---|
208 | 41 | config MEDIA_SUBDRV_AUTOSELECT |
---|
209 | 42 | bool "Autoselect ancillary drivers (tuners, sensors, i2c, spi, frontends)" |
---|
210 | | - depends on MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_CAMERA_SUPPORT || MEDIA_SDR_SUPPORT |
---|
211 | 43 | depends on HAS_IOMEM |
---|
212 | 44 | select I2C |
---|
213 | 45 | select I2C_MUX |
---|
214 | | - default y |
---|
| 46 | + default y if MEDIA_SUPPORT_FILTER |
---|
215 | 47 | help |
---|
216 | 48 | By default, a media driver auto-selects all possible ancillary |
---|
217 | 49 | devices such as tuners, sensors, video encoders/decoders and |
---|
.. | .. |
---|
228 | 60 | |
---|
229 | 61 | If unsure say Y. |
---|
230 | 62 | |
---|
| 63 | +menu "Media device types" |
---|
| 64 | + |
---|
| 65 | +# |
---|
| 66 | +# Multimedia support - automatically enable V4L2 and DVB core |
---|
| 67 | +# |
---|
| 68 | +config MEDIA_CAMERA_SUPPORT |
---|
| 69 | + bool "Cameras and video grabbers" |
---|
| 70 | + default y if !MEDIA_SUPPORT_FILTER |
---|
| 71 | + help |
---|
| 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 |
---|
| 77 | + bool "Analog TV" |
---|
| 78 | + default y if !MEDIA_SUPPORT_FILTER |
---|
| 79 | + help |
---|
| 80 | + Enable analog TV support. |
---|
| 81 | + |
---|
| 82 | + Say Y when you have a TV board with analog support or with a |
---|
| 83 | + hybrid analog/digital TV chipset. |
---|
| 84 | + |
---|
| 85 | + Note: There are several DVB cards that are based on chips that |
---|
| 86 | + support both analog and digital TV. Disabling this option |
---|
| 87 | + will disable support for them. |
---|
| 88 | + |
---|
| 89 | +config MEDIA_DIGITAL_TV_SUPPORT |
---|
| 90 | + tristate "Digital TV" |
---|
| 91 | + default y if !MEDIA_SUPPORT_FILTER |
---|
| 92 | + help |
---|
| 93 | + Enable digital TV support. |
---|
| 94 | + |
---|
| 95 | + Say Y when you have a board with digital support or a board with |
---|
| 96 | + hybrid digital TV and analog TV. |
---|
| 97 | + |
---|
| 98 | +config MEDIA_RADIO_SUPPORT |
---|
| 99 | + bool "AM/FM radio receivers/transmitters" |
---|
| 100 | + default y if !MEDIA_SUPPORT_FILTER |
---|
| 101 | + help |
---|
| 102 | + Enable AM/FM radio support. |
---|
| 103 | + |
---|
| 104 | + Additional info and docs are available on the web at |
---|
| 105 | + <https://linuxtv.org> |
---|
| 106 | + |
---|
| 107 | + Say Y when you have a board with radio support. |
---|
| 108 | + |
---|
| 109 | + Note: There are several TV cards that are based on chips that |
---|
| 110 | + support radio reception. Disabling this option will |
---|
| 111 | + disable support for them. |
---|
| 112 | + |
---|
| 113 | +config MEDIA_SDR_SUPPORT |
---|
| 114 | + bool "Software defined radio" |
---|
| 115 | + default y if !MEDIA_SUPPORT_FILTER |
---|
| 116 | + help |
---|
| 117 | + Enable software defined radio support. |
---|
| 118 | + |
---|
| 119 | + Say Y when you have a software defined radio device. |
---|
| 120 | + |
---|
| 121 | +config MEDIA_PLATFORM_SUPPORT |
---|
| 122 | + bool "Platform-specific devices" |
---|
| 123 | + default y if !MEDIA_SUPPORT_FILTER |
---|
| 124 | + help |
---|
| 125 | + Enable support for complex cameras, codecs, and other hardware |
---|
| 126 | + that are integrated at the CPU, GPU or on Image Signalling Processor |
---|
| 127 | + and don't use PCI, USB or Firewire buses. |
---|
| 128 | + |
---|
| 129 | + This is found on Embedded hardware (SoC), on V4L2 codecs and |
---|
| 130 | + on some GPU and newer CPU chipsets. |
---|
| 131 | + |
---|
| 132 | + Say Y when you want to be able so see such devices. |
---|
| 133 | + |
---|
| 134 | +config MEDIA_TEST_SUPPORT |
---|
| 135 | + bool "Test drivers" |
---|
| 136 | + default y if !MEDIA_SUPPORT_FILTER |
---|
| 137 | + help |
---|
| 138 | + These drivers should not be used on production kernels, but |
---|
| 139 | + can be useful on debug ones. This option enables several dummy drivers |
---|
| 140 | + that simulate real hardware. Very useful to test userspace |
---|
| 141 | + applications and to validate if the subsystem core doesn't |
---|
| 142 | + have regressions. |
---|
| 143 | + |
---|
| 144 | + Say Y if you want to use some virtual test driver. |
---|
| 145 | + |
---|
| 146 | + In case of doubts, say N. |
---|
| 147 | + Say Y when you have a software defined radio device. |
---|
| 148 | +endmenu # media device types |
---|
| 149 | + |
---|
| 150 | + |
---|
| 151 | +menu "Media core support" |
---|
| 152 | + visible if !MEDIA_SUPPORT_FILTER |
---|
| 153 | + |
---|
| 154 | +config VIDEO_DEV |
---|
| 155 | + tristate "Video4Linux core" |
---|
| 156 | + default MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_RADIO_SUPPORT || MEDIA_SDR_SUPPORT || MEDIA_PLATFORM_SUPPORT || MEDIA_TEST_SUPPORT |
---|
| 157 | + help |
---|
| 158 | + Enables the V4L2 API, used by cameras, analog TV, video grabbers, |
---|
| 159 | + radio devices and by some input devices. |
---|
| 160 | + |
---|
| 161 | +config MEDIA_CONTROLLER |
---|
| 162 | + bool "Media Controller API" |
---|
| 163 | + default MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_PLATFORM_SUPPORT |
---|
| 164 | + help |
---|
| 165 | + Enable the media controller API used to query media devices internal |
---|
| 166 | + topology and configure it dynamically. |
---|
| 167 | + |
---|
| 168 | + This API is mostly used by camera interfaces in embedded platforms. |
---|
| 169 | + |
---|
| 170 | +# |
---|
| 171 | +# DVB Core |
---|
| 172 | +# Only enables if one of DTV is selected |
---|
| 173 | +# |
---|
| 174 | + |
---|
| 175 | +config DVB_CORE |
---|
| 176 | + tristate |
---|
| 177 | + depends on MEDIA_DIGITAL_TV_SUPPORT |
---|
| 178 | + depends on (I2C || I2C=n) |
---|
| 179 | + default MEDIA_DIGITAL_TV_SUPPORT |
---|
| 180 | + select CRC32 |
---|
| 181 | + help |
---|
| 182 | + Enables the DVB API, used by Digital TV devices. Supports several |
---|
| 183 | + standards, including DVB, ATSC, ISDB and CMDB. |
---|
| 184 | + |
---|
| 185 | +endmenu # Media core support |
---|
| 186 | + |
---|
| 187 | +# |
---|
| 188 | +# Extra per-media API core functionality |
---|
| 189 | + |
---|
| 190 | +menu "Video4Linux options" |
---|
| 191 | + visible if VIDEO_DEV |
---|
| 192 | + |
---|
| 193 | +source "drivers/media/v4l2-core/Kconfig" |
---|
| 194 | +endmenu |
---|
| 195 | + |
---|
| 196 | +menu "Media controller options" |
---|
| 197 | + visible if MEDIA_CONTROLLER |
---|
| 198 | + |
---|
| 199 | +source "drivers/media/mc/Kconfig" |
---|
| 200 | +endmenu |
---|
| 201 | + |
---|
| 202 | +menu "Digital TV options" |
---|
| 203 | + visible if DVB_CORE |
---|
| 204 | + |
---|
| 205 | +source "drivers/media/dvb-core/Kconfig" |
---|
| 206 | +endmenu |
---|
| 207 | + |
---|
| 208 | +menu "Media drivers" |
---|
| 209 | + |
---|
| 210 | +comment "Drivers filtered as selected at 'Filter media drivers'" |
---|
| 211 | + depends on MEDIA_SUPPORT_FILTER |
---|
| 212 | + |
---|
| 213 | +source "drivers/media/usb/Kconfig" |
---|
| 214 | +source "drivers/media/pci/Kconfig" |
---|
| 215 | +source "drivers/media/radio/Kconfig" |
---|
| 216 | + |
---|
| 217 | +# Common driver options |
---|
| 218 | +source "drivers/media/common/Kconfig" |
---|
| 219 | + |
---|
| 220 | +if MEDIA_PLATFORM_SUPPORT |
---|
| 221 | +source "drivers/media/platform/Kconfig" |
---|
| 222 | +source "drivers/media/mmc/Kconfig" |
---|
| 223 | +endif |
---|
| 224 | + |
---|
| 225 | +if MEDIA_TEST_SUPPORT |
---|
| 226 | +source "drivers/media/test-drivers/Kconfig" |
---|
| 227 | +endif |
---|
| 228 | + |
---|
| 229 | +source "drivers/media/firewire/Kconfig" |
---|
| 230 | + |
---|
| 231 | +endmenu |
---|
| 232 | + |
---|
| 233 | +# |
---|
| 234 | +# Ancillary drivers (tuners, i2c, spi, frontends) |
---|
| 235 | +# |
---|
| 236 | + |
---|
| 237 | +config MEDIA_HIDE_ANCILLARY_SUBDRV |
---|
| 238 | + bool |
---|
| 239 | + depends on MEDIA_SUBDRV_AUTOSELECT && !COMPILE_TEST && !EXPERT |
---|
| 240 | + default y |
---|
| 241 | + |
---|
| 242 | +menu "Media ancillary drivers" |
---|
| 243 | + |
---|
231 | 244 | config MEDIA_ATTACH |
---|
232 | 245 | bool |
---|
233 | 246 | depends on MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_RADIO_SUPPORT |
---|
.. | .. |
---|
239 | 252 | source "drivers/media/tuners/Kconfig" |
---|
240 | 253 | source "drivers/media/dvb-frontends/Kconfig" |
---|
241 | 254 | |
---|
| 255 | +endmenu |
---|
| 256 | + |
---|
242 | 257 | endif # MEDIA_SUPPORT |
---|