media: Kconfig: update the MEDIA_SUPPORT help message
[linux-block.git] / drivers / media / Kconfig
CommitLineData
ec8f24b7 1# SPDX-License-Identifier: GPL-2.0-only
1da177e4
LT
2#
3# Multimedia device configuration
4#
5
9177e51d
HV
6config CEC_CORE
7 tristate
8
e94c3281 9config CEC_NOTIFIER
9177e51d
HV
10 bool
11
ea5c8ef2
HV
12config CEC_PIN
13 bool
14
b9e1486e
SY
15source "drivers/media/rc/Kconfig"
16
ab482a6c
RD
17menuconfig 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
28if MEDIA_SUPPORT
1da177e4 29
7c91f062
MCC
30comment "Multimedia core support"
31
b4c184e5
MCC
32#
33# Multimedia support - automatically enable V4L2 and DVB core
34#
35config 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
42config 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
54config 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
62config 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
76config 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 83config 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
92config 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 104source "drivers/media/cec/Kconfig"
6917a7b7 105
c612e54f 106source "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 113config 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 118config 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
127source "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 134config 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
142config 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
155config 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
169config TTPCI_EEPROM
bb69ee27
MCC
170 tristate
171 depends on I2C
5d92bbe6 172
f0af8fa4
MCC
173source "drivers/media/dvb-core/Kconfig"
174
c455f5c8 175comment "Media drivers"
c1accaa2 176
786baecf 177source "drivers/media/usb/Kconfig"
3c8c09b5 178source "drivers/media/pci/Kconfig"
06b93644
MCC
179source "drivers/media/radio/Kconfig"
180
181if MEDIA_PLATFORM_SUPPORT
3c8c09b5 182source "drivers/media/platform/Kconfig"
0013ca8c 183source "drivers/media/mmc/Kconfig"
06b93644 184endif
1da177e4 185
616300bd
MCC
186comment "Supported FireWire (IEEE 1394) Adapters"
187 depends on DVB_CORE && FIREWIRE
188source "drivers/media/firewire/Kconfig"
189
3c8c09b5 190# Common driver options
3785bc17
MCC
191source "drivers/media/common/Kconfig"
192
8283a092 193comment "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 199config 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 222config MEDIA_HIDE_ANCILLARY_SUBDRV
1498dfba
KK
223 bool
224 depends on MEDIA_SUBDRV_AUTOSELECT && !COMPILE_TEST && !EXPERT
225 default y
4fa4ef39 226
bb69ee27
MCC
227config 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 233source "drivers/media/i2c/Kconfig"
8283a092 234source "drivers/media/spi/Kconfig"
fccea74f 235source "drivers/media/tuners/Kconfig"
3c8c09b5
MCC
236source "drivers/media/dvb-frontends/Kconfig"
237
ab482a6c 238endif # MEDIA_SUPPORT