Kconfig 6.8 KB
Newer Older
1
# SPDX-License-Identifier: GPL-2.0-only
L
Linus Torvalds 已提交
2 3 4 5
#
# Multimedia device configuration
#

6 7 8
config CEC_CORE
	tristate

9
config CEC_NOTIFIER
10 11
	bool

12 13 14
config CEC_PIN
	bool

15 16
source "drivers/media/rc/Kconfig"

17 18
menuconfig MEDIA_SUPPORT
	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 26

if MEDIA_SUPPORT
L
Linus Torvalds 已提交
27

28 29
comment "Multimedia core support"

30 31 32 33 34
#
# Multimedia support - automatically enable V4L2 and DVB core
#
config MEDIA_CAMERA_SUPPORT
	bool "Cameras/video grabbers support"
35
	help
36 37 38 39 40 41
	  Enable support for webcams and video grabbers.

	  Say Y when you have a webcam or a video capture grabber board.

config MEDIA_ANALOG_TV_SUPPORT
	bool "Analog TV support"
42
	help
43 44 45 46 47 48 49 50 51 52 53
	  Enable analog TV support.

	  Say Y when you have a TV board with analog support or with a
	  hybrid analog/digital TV chipset.

	  Note: There are several DVB cards that are based on chips that
		support both analog and digital TV. Disabling this option
		will disable support for them.

config MEDIA_DIGITAL_TV_SUPPORT
	bool "Digital TV support"
54
	help
55 56 57 58 59 60 61
	  Enable digital TV support.

	  Say Y when you have a board with digital support or a board with
	  hybrid digital TV and analog TV.

config MEDIA_RADIO_SUPPORT
	bool "AM/FM radio receivers/transmitters support"
62
	help
63 64 65
	  Enable AM/FM radio support.

	  Additional info and docs are available on the web at
66
	  <https://linuxtv.org>
67 68 69 70 71 72 73

	  Say Y when you have a board with radio support.

	  Note: There are several TV cards that are based on chips that
		support radio reception. Disabling this option will
		disable support for them.

74 75
config MEDIA_SDR_SUPPORT
	bool "Software defined radio support"
76
	help
77 78 79 80
	  Enable software defined radio support.

	  Say Y when you have a software defined radio device.

81
config MEDIA_CEC_SUPPORT
82
	bool "HDMI CEC support"
83
	help
84 85
	  Enable support for HDMI CEC (Consumer Electronics Control),
	  which is an optional HDMI feature.
86

87 88
	  Say Y when you have an HDMI receiver, transmitter or a USB CEC
	  adapter that supports HDMI CEC.
89

H
Hans Verkuil 已提交
90
source "drivers/media/cec/Kconfig"
91

92 93
#
# Media controller
94
#	Selectable only for webcam/grabbers, as other drivers don't use it
95 96 97
#

config MEDIA_CONTROLLER
98
	bool "Media Controller API"
99
	depends on MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT
100
	help
101 102 103 104 105
	  Enable the media controller API used to query media devices internal
	  topology and configure it dynamically.

	  This API is mostly used by camera interfaces in embedded platforms.

106
config MEDIA_CONTROLLER_DVB
107
	bool "Enable Media controller for DVB (EXPERIMENTAL)"
108
	depends on MEDIA_CONTROLLER && DVB_CORE
109
	help
110 111 112 113
	  Enable the media controller API support for DVB.

	  This is currently experimental.

114 115 116
config MEDIA_CONTROLLER_REQUEST_API
	bool "Enable Media controller Request API (EXPERIMENTAL)"
	depends on MEDIA_CONTROLLER && STAGING_MEDIA
117
	help
118 119 120 121 122 123 124 125
	  DO NOT ENABLE THIS OPTION UNLESS YOU KNOW WHAT YOU'RE DOING.

	  This option enables the Request API for the Media controller and V4L2
	  interfaces. It is currently needed by a few stateless codec drivers.

	  There is currently no intention to provide API or ABI stability for
	  this new API as of yet.

126
#
127 128
# Video4Linux support
#	Only enables if one of the V4L2 types (ATV, webcam, radio) is selected
129 130
#

L
Linus Torvalds 已提交
131
config VIDEO_DEV
132 133
	tristate
	depends on MEDIA_SUPPORT
134
	depends on MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_RADIO_SUPPORT || MEDIA_SDR_SUPPORT
135
	default y
L
Linus Torvalds 已提交
136

137
config VIDEO_V4L2_SUBDEV_API
138 139
	bool "V4L2 sub-device userspace API"
	depends on VIDEO_DEV && MEDIA_CONTROLLER
140
	help
141 142 143 144 145
	  Enables the V4L2 sub-device pad-level userspace API used to configure
	  video format, size and frame rate between hardware blocks.

	  This API is mostly used by camera interfaces in embedded platforms.

146 147
source "drivers/media/v4l2-core/Kconfig"

148 149
#
# DVB Core
150
#	Only enables if one of DTV is selected
151
#
L
Linus Torvalds 已提交
152

153
config DVB_CORE
154 155 156
	tristate
	depends on MEDIA_SUPPORT
	depends on MEDIA_DIGITAL_TV_SUPPORT
157
	depends on (I2C || I2C=n)
158
	default y
159
	select CRC32
160

161 162 163
config DVB_MMAP
	bool "Enable DVB memory-mapped API (EXPERIMENTAL)"
	depends on DVB_CORE
164 165
	depends on VIDEO_V4L2=y || VIDEO_V4L2=DVB_CORE
	select VIDEOBUF2_VMALLOC
166
	help
167
	  This option enables DVB experimental memory-mapped API, which
168 169 170 171 172 173
	  reduces the number of context switches to read DVB buffers, as
	  the buffers can use mmap() syscalls.

	  Support for it is experimental. Use with care. If unsure,
	  say N.

174 175 176
config DVB_NET
	bool "DVB Network Support"
	default (NET && INET)
177
	depends on NET && INET && DVB_CORE
178
	help
179 180 181 182
	  This option enables DVB Network Support which is a part of the DVB
	  standard. It is used, for example, by automatic firmware updates used
	  on Set-Top-Boxes. It can also be used to access the Internet via the
	  DVB card, if the network provider supports it.
183

184 185
	  You may want to disable the network support on embedded devices. If
	  unsure say Y.
186

187 188
# This Kconfig option is used by both PCI and USB drivers
config TTPCI_EEPROM
189 190
	tristate
	depends on I2C
191

192 193
source "drivers/media/dvb-core/Kconfig"

194
comment "Media drivers"
195

196
#
197
# V4L platform/mem2mem drivers
198
#
199

200
source "drivers/media/usb/Kconfig"
201 202
source "drivers/media/pci/Kconfig"
source "drivers/media/platform/Kconfig"
203
source "drivers/media/mmc/Kconfig"
204
source "drivers/media/radio/Kconfig"
L
Linus Torvalds 已提交
205

206 207 208 209
comment "Supported FireWire (IEEE 1394) Adapters"
	depends on DVB_CORE && FIREWIRE
source "drivers/media/firewire/Kconfig"

210
# Common driver options
211 212
source "drivers/media/common/Kconfig"

213
comment "Media ancillary drivers (tuners, sensors, i2c, spi, frontends)"
H
Hans Verkuil 已提交
214

215
#
216
# Ancillary drivers (tuners, i2c, spi, frontends)
217 218
#

219
config MEDIA_SUBDRV_AUTOSELECT
220
	bool "Autoselect ancillary drivers (tuners, sensors, i2c, spi, frontends)"
221
	depends on MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_CAMERA_SUPPORT || MEDIA_SDR_SUPPORT
222 223 224
	depends on HAS_IOMEM
	select I2C
	select I2C_MUX
225 226
	default y
	help
H
Hans Verkuil 已提交
227 228 229
	  By default, a media driver auto-selects all possible ancillary
	  devices such as tuners, sensors, video encoders/decoders and
	  frontends, that are used by any of the supported devices.
230 231

	  This is generally the right thing to do, except when there
232 233
	  are strict constraints with regards to the kernel size,
	  like on embedded systems.
234

235 236 237
	  Use this option with care, as deselecting ancillary drivers which
	  are, in fact, necessary will result in the lack of the needed
	  functionality for your device (it may not tune or may not have
H
Hans Verkuil 已提交
238
	  the needed demodulators).
239 240 241

	  If unsure say Y.

242 243 244 245 246 247
config MEDIA_ATTACH
	bool
	depends on MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_RADIO_SUPPORT
	depends on MODULES
	default MODULES

248
source "drivers/media/i2c/Kconfig"
249
source "drivers/media/spi/Kconfig"
250
source "drivers/media/tuners/Kconfig"
251 252
source "drivers/media/dvb-frontends/Kconfig"

253
endif # MEDIA_SUPPORT