1# SPDX-License-Identifier: GPL-2.0-only 2# 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" 35 help 36 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" 42 help 43 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" 54 help 55 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" 62 help 63 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" 76 help 77 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" 83 help 84 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 92source "drivers/media/mc/Kconfig" 93 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 108 help 109 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 134 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 159 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 193 default y if !EMBEDDED 194 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 210config MEDIA_HIDE_ANCILLARY_SUBDRV 211 bool 212 depends on MEDIA_SUBDRV_AUTOSELECT && !COMPILE_TEST && !EXPERT 213 default y 214 215config 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 227