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