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

6 7 8 9 10 11 12 13 14 15 16 17 18
#
# NOTE: Those symbols can't depend on MEDIA_SUPPORT, as it would cause
# unmatched dependencies
#
config CEC_CORE
	tristate

config CEC_NOTIFIER
	bool

config CEC_PIN
	bool

19 20
source "drivers/media/rc/Kconfig"

21 22
menuconfig MEDIA_SUPPORT
	tristate "Multimedia support"
23
	depends on HAS_IOMEM
24
	help
25 26 27 28
	  If you want to use media devices, including Webcams, Video grabber
	  devices and/or TV devices, V4L2 codecs, etc, enable this option
	  and other options below.

29
	  Additional info and docs are available on the web at
30
	  <https://linuxtv.org>
31

32 33 34
if MEDIA_SUPPORT

config MEDIA_SUPPORT_FILTER
35
	bool "Filter media drivers"
36
	depends on MEDIA_SUPPORT
37
	default y if !EMBEDDED && !EXPERT
38 39 40 41 42 43 44 45 46 47 48 49
	help
	   Configuring the media subsystem can be complex, as there are
	   hundreds of drivers and other config options.

	   This menu offers option that will help the Kernel's config
	   system to hide drivers that are out of the scope of the
	   user needs, and disabling core support for unused APIs.

	   If not selected, all non-optional media core functionality
	   needed to support media drivers will be enabled. Also, all
	   media device drivers should be shown.

50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
config MEDIA_SUBDRV_AUTOSELECT
	bool "Autoselect ancillary drivers (tuners, sensors, i2c, spi, frontends)"
	depends on HAS_IOMEM
	select I2C
	select I2C_MUX
	default y if MEDIA_SUPPORT_FILTER
	help
	  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.

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

	  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
	  the needed demodulators).

	  If unsure say Y.

72
menu "Media device types"
73

74 75 76 77
#
# Multimedia support - automatically enable V4L2 and DVB core
#
config MEDIA_CAMERA_SUPPORT
78 79
	bool
	prompt "Cameras and video grabbers" if MEDIA_SUPPORT_FILTER
80
	default y if !MEDIA_SUPPORT_FILTER
81
	help
82 83 84 85 86
	  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
87 88
	bool
	prompt "Analog TV" if MEDIA_SUPPORT_FILTER
89
	default y if !MEDIA_SUPPORT_FILTER
90
	help
91 92
	  Enable analog TV support.

93 94 95 96 97 98
	  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.
99 100

config MEDIA_DIGITAL_TV_SUPPORT
101 102
	bool
	prompt "Digital TV" if MEDIA_SUPPORT_FILTER
103
	default y if !MEDIA_SUPPORT_FILTER
104
	help
105 106
	  Enable digital TV support.

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

config MEDIA_RADIO_SUPPORT
111 112
	bool
	prompt "AM/FM radio receivers/transmitters" if MEDIA_SUPPORT_FILTER
113
	default y if !MEDIA_SUPPORT_FILTER
114
	help
115 116 117
	  Enable AM/FM radio support.

	  Additional info and docs are available on the web at
118
	  <https://linuxtv.org>
119 120 121

	  Say Y when you have a board with radio support.

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

126
config MEDIA_SDR_SUPPORT
127 128
	bool
	prompt "Software defined radio" if MEDIA_SUPPORT_FILTER
129
	default y if !MEDIA_SUPPORT_FILTER
130
	help
131 132 133 134
	  Enable software defined radio support.

	  Say Y when you have a software defined radio device.

135
config MEDIA_CEC_SUPPORT
136 137
	bool
	prompt "HDMI CEC support" if MEDIA_SUPPORT_FILTER
138
	default y if !MEDIA_SUPPORT_FILTER
139
	help
140 141
	  Enable support for HDMI CEC (Consumer Electronics Control),
	  which is an optional HDMI feature.
142

143 144
	  Say Y when you have an HDMI receiver, transmitter or a USB CEC
	  adapter that supports HDMI CEC.
145

146
config MEDIA_PLATFORM_SUPPORT
147 148
	bool
	prompt "Platform-specific devices" if MEDIA_SUPPORT_FILTER
149
	default y if !MEDIA_SUPPORT_FILTER
150 151 152 153 154 155 156 157 158 159
	help
	  Enable support for complex cameras, codecs, and other hardware
	  that are integrated at the CPU, GPU or on Image Signalling Processor
	  and don't use PCI, USB or Firewire buses.

	  This is found on Embedded hardware (SoC), on V4L2 codecs and
	  on some GPU and newer CPU chipsets.

	  Say Y when you want to be able so see such devices.

160
config MEDIA_TEST_SUPPORT
161 162
	bool
	prompt "Test drivers" if MEDIA_SUPPORT_FILTER
163
	default y if !MEDIA_SUPPORT_FILTER
164 165 166 167 168 169 170 171 172 173
	help
	  Those drivers should not be used on production Kernels, but
	  can be useful on debug ones. It enables several dummy drivers
	  that simulate a real hardware. Very useful to test userspace
	  applications and to validate if the subsystem core is doesn't
	  have regressions.

	  Say Y if you want to use some virtual test driver.

	  In case of doubts, say N.
174
	  Say Y when you have a software defined radio device.
175
endmenu # media device types
176

177

178 179
menu "Media core support"
	visible if !MEDIA_SUPPORT_FILTER
180

L
Linus Torvalds 已提交
181
config VIDEO_DEV
182 183
	tristate "Video4Linux core"
	default MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_RADIO_SUPPORT || MEDIA_SDR_SUPPORT || MEDIA_PLATFORM_SUPPORT || MEDIA_TEST_SUPPORT
184 185 186
	help
	  Enables the V4L2 API, used by cameras, analog TV, video grabbers,
	  radio devices and by some input devices.
L
Linus Torvalds 已提交
187

188 189 190 191 192 193 194 195 196
config MEDIA_CONTROLLER
	bool "Media Controller API"
	default MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_PLATFORM_SUPPORT
	help
	  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.

197 198
#
# DVB Core
199
#	Only enables if one of DTV is selected
200
#
L
Linus Torvalds 已提交
201

202
config DVB_CORE
203 204
	tristate
	depends on MEDIA_DIGITAL_TV_SUPPORT
205
	depends on (I2C || I2C=n)
206
	default MEDIA_DIGITAL_TV_SUPPORT
207
	select CRC32
208
	help
209 210
	  Enables the DVB API, used by Digital TV devices. Supports several
	  standards, including DVB, ATSC, ISDB and CMDB.
211

212
endmenu # Media core support
213

214 215
#
# Extra per-media API core functionality
216

217 218 219
menu "Video4Linux options"
	visible if VIDEO_DEV

220
source "drivers/media/v4l2-core/Kconfig"
221 222 223 224 225
endmenu

menu "Media controller options"
	visible if MEDIA_CONTROLLER

226
source "drivers/media/mc/Kconfig"
227 228 229 230 231
endmenu

menu "Digital TV options"
	visible if DVB_CORE

232
source "drivers/media/dvb-core/Kconfig"
233 234 235 236 237
endmenu

menu "HDMI CEC options"
	visible if CEC_CORE

238
source "drivers/media/cec/Kconfig"
239
endmenu
240

241
menu "Media drivers"
242

243 244 245
comment "Drivers filtered as selected at 'Filter media drivers'"
	depends on MEDIA_SUPPORT_FILTER

246
source "drivers/media/usb/Kconfig"
247
source "drivers/media/pci/Kconfig"
248 249
source "drivers/media/radio/Kconfig"

250 251 252
# Common driver options
source "drivers/media/common/Kconfig"

253
if MEDIA_PLATFORM_SUPPORT
254
source "drivers/media/platform/Kconfig"
255
source "drivers/media/test_drivers/Kconfig"
256
source "drivers/media/mmc/Kconfig"
257
endif
L
Linus Torvalds 已提交
258

259 260
source "drivers/media/firewire/Kconfig"

261 262
endmenu

263
#
264
# Ancillary drivers (tuners, i2c, spi, frontends)
265 266
#

267
config MEDIA_HIDE_ANCILLARY_SUBDRV
268 269 270
	bool
	depends on MEDIA_SUBDRV_AUTOSELECT && !COMPILE_TEST && !EXPERT
	default y
271

272 273 274
menu "Media ancillary drivers"
	visible if !MEDIA_HIDE_ANCILLARY_SUBDRV

275 276 277 278 279 280
config MEDIA_ATTACH
	bool
	depends on MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_RADIO_SUPPORT
	depends on MODULES
	default MODULES

281
source "drivers/media/i2c/Kconfig"
282
source "drivers/media/spi/Kconfig"
283
source "drivers/media/tuners/Kconfig"
284 285
source "drivers/media/dvb-frontends/Kconfig"

286 287
endmenu

288
endif # MEDIA_SUPPORT