blob: b36a4133286709edc7595bf773bbd30c959fe498 [file] [log] [blame]
David Brazdil0f672f62019-12-10 10:32:29 +00001# SPDX-License-Identifier: GPL-2.0-only
Andrew Scullb4b6d4a2019-01-02 15:54:55 +00002#
3# Multimedia device configuration
4#
5
6config CEC_CORE
7 tristate
8
9config CEC_NOTIFIER
10 bool
11
12config CEC_PIN
13 bool
14
15source "drivers/media/rc/Kconfig"
16
17menuconfig MEDIA_SUPPORT
18 tristate "Multimedia support"
19 depends on HAS_IOMEM
20 help
21 If you want to use Webcams, Video grabber devices and/or TV devices
22 enable this option and other options below.
23 Additional info and docs are available on the web at
24 <https://linuxtv.org>
25
26if MEDIA_SUPPORT
27
28comment "Multimedia core support"
29
30#
31# Multimedia support - automatically enable V4L2 and DVB core
32#
33config MEDIA_CAMERA_SUPPORT
34 bool "Cameras/video grabbers support"
David Brazdil0f672f62019-12-10 10:32:29 +000035 help
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000036 Enable support for webcams and video grabbers.
37
38 Say Y when you have a webcam or a video capture grabber board.
39
40config MEDIA_ANALOG_TV_SUPPORT
41 bool "Analog TV support"
David Brazdil0f672f62019-12-10 10:32:29 +000042 help
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000043 Enable analog TV support.
44
45 Say Y when you have a TV board with analog support or with a
46 hybrid analog/digital TV chipset.
47
48 Note: There are several DVB cards that are based on chips that
49 support both analog and digital TV. Disabling this option
50 will disable support for them.
51
52config MEDIA_DIGITAL_TV_SUPPORT
53 bool "Digital TV support"
David Brazdil0f672f62019-12-10 10:32:29 +000054 help
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000055 Enable digital TV support.
56
57 Say Y when you have a board with digital support or a board with
58 hybrid digital TV and analog TV.
59
60config MEDIA_RADIO_SUPPORT
61 bool "AM/FM radio receivers/transmitters support"
David Brazdil0f672f62019-12-10 10:32:29 +000062 help
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000063 Enable AM/FM radio support.
64
65 Additional info and docs are available on the web at
66 <https://linuxtv.org>
67
68 Say Y when you have a board with radio support.
69
70 Note: There are several TV cards that are based on chips that
71 support radio reception. Disabling this option will
72 disable support for them.
73
74config MEDIA_SDR_SUPPORT
75 bool "Software defined radio support"
David Brazdil0f672f62019-12-10 10:32:29 +000076 help
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000077 Enable software defined radio support.
78
79 Say Y when you have a software defined radio device.
80
81config MEDIA_CEC_SUPPORT
82 bool "HDMI CEC support"
David Brazdil0f672f62019-12-10 10:32:29 +000083 help
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000084 Enable support for HDMI CEC (Consumer Electronics Control),
85 which is an optional HDMI feature.
86
87 Say Y when you have an HDMI receiver, transmitter or a USB CEC
88 adapter that supports HDMI CEC.
89
90source "drivers/media/cec/Kconfig"
91
David Brazdil0f672f62019-12-10 10:32:29 +000092source "drivers/media/mc/Kconfig"
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000093
94#
95# Video4Linux support
96# Only enables if one of the V4L2 types (ATV, webcam, radio) is selected
97#
98
99config VIDEO_DEV
100 tristate
101 depends on MEDIA_SUPPORT
102 depends on MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_RADIO_SUPPORT || MEDIA_SDR_SUPPORT
103 default y
104
105config VIDEO_V4L2_SUBDEV_API
106 bool "V4L2 sub-device userspace API"
107 depends on VIDEO_DEV && MEDIA_CONTROLLER
David Brazdil0f672f62019-12-10 10:32:29 +0000108 help
Andrew Scullb4b6d4a2019-01-02 15:54:55 +0000109 Enables the V4L2 sub-device pad-level userspace API used to configure
110 video format, size and frame rate between hardware blocks.
111
112 This API is mostly used by camera interfaces in embedded platforms.
113
114source "drivers/media/v4l2-core/Kconfig"
115
116#
117# DVB Core
118# Only enables if one of DTV is selected
119#
120
121config DVB_CORE
122 tristate
123 depends on MEDIA_SUPPORT
124 depends on MEDIA_DIGITAL_TV_SUPPORT
125 depends on (I2C || I2C=n)
126 default y
127 select CRC32
128
129config DVB_MMAP
130 bool "Enable DVB memory-mapped API (EXPERIMENTAL)"
131 depends on DVB_CORE
132 depends on VIDEO_V4L2=y || VIDEO_V4L2=DVB_CORE
133 select VIDEOBUF2_VMALLOC
Andrew Scullb4b6d4a2019-01-02 15:54:55 +0000134 help
135 This option enables DVB experimental memory-mapped API, which
136 reduces the number of context switches to read DVB buffers, as
137 the buffers can use mmap() syscalls.
138
139 Support for it is experimental. Use with care. If unsure,
140 say N.
141
142config DVB_NET
143 bool "DVB Network Support"
144 default (NET && INET)
145 depends on NET && INET && DVB_CORE
146 help
147 This option enables DVB Network Support which is a part of the DVB
148 standard. It is used, for example, by automatic firmware updates used
149 on Set-Top-Boxes. It can also be used to access the Internet via the
150 DVB card, if the network provider supports it.
151
152 You may want to disable the network support on embedded devices. If
153 unsure say Y.
154
155# This Kconfig option is used by both PCI and USB drivers
156config TTPCI_EEPROM
157 tristate
158 depends on I2C
Andrew Scullb4b6d4a2019-01-02 15:54:55 +0000159
160source "drivers/media/dvb-core/Kconfig"
161
162comment "Media drivers"
163
164#
165# V4L platform/mem2mem drivers
166#
167
168source "drivers/media/usb/Kconfig"
169source "drivers/media/pci/Kconfig"
170source "drivers/media/platform/Kconfig"
171source "drivers/media/mmc/Kconfig"
172source "drivers/media/radio/Kconfig"
173
174comment "Supported FireWire (IEEE 1394) Adapters"
175 depends on DVB_CORE && FIREWIRE
176source "drivers/media/firewire/Kconfig"
177
178# Common driver options
179source "drivers/media/common/Kconfig"
180
181comment "Media ancillary drivers (tuners, sensors, i2c, spi, frontends)"
182
183#
184# Ancillary drivers (tuners, i2c, spi, frontends)
185#
186
187config MEDIA_SUBDRV_AUTOSELECT
188 bool "Autoselect ancillary drivers (tuners, sensors, i2c, spi, frontends)"
189 depends on MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_CAMERA_SUPPORT || MEDIA_SDR_SUPPORT
190 depends on HAS_IOMEM
191 select I2C
192 select I2C_MUX
David Brazdil0f672f62019-12-10 10:32:29 +0000193 default y if !EMBEDDED
Andrew Scullb4b6d4a2019-01-02 15:54:55 +0000194 help
195 By default, a media driver auto-selects all possible ancillary
196 devices such as tuners, sensors, video encoders/decoders and
197 frontends, that are used by any of the supported devices.
198
199 This is generally the right thing to do, except when there
200 are strict constraints with regards to the kernel size,
201 like on embedded systems.
202
203 Use this option with care, as deselecting ancillary drivers which
204 are, in fact, necessary will result in the lack of the needed
205 functionality for your device (it may not tune or may not have
206 the needed demodulators).
207
208 If unsure say Y.
209
David Brazdil0f672f62019-12-10 10:32:29 +0000210config MEDIA_HIDE_ANCILLARY_SUBDRV
211 bool
212 depends on MEDIA_SUBDRV_AUTOSELECT && !COMPILE_TEST && !EXPERT
213 default y
214
Andrew Scullb4b6d4a2019-01-02 15:54:55 +0000215config MEDIA_ATTACH
216 bool
217 depends on MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_RADIO_SUPPORT
218 depends on MODULES
219 default MODULES
220
221source "drivers/media/i2c/Kconfig"
222source "drivers/media/spi/Kconfig"
223source "drivers/media/tuners/Kconfig"
224source "drivers/media/dvb-frontends/Kconfig"
225
226endif # MEDIA_SUPPORT