1# SPDX-License-Identifier: GPL-2.0-only 2# 3# Multimedia device configuration 4# 5 6source "drivers/media/rc/Kconfig" 7 8menuconfig MEDIA_SUPPORT 9 tristate "Multimedia support" 10 depends on HAS_IOMEM 11 help 12 If you want to use media devices, including Webcams, Video grabber 13 devices and/or TV devices, V4L2 codecs, etc, enable this option 14 and other options below. 15 16 Additional info and docs are available on the web at 17 <https://linuxtv.org> 18 19if MEDIA_SUPPORT 20 21config MEDIA_SUPPORT_FILTER 22 bool "Filter media drivers" 23 depends on MEDIA_SUPPORT 24 help 25 Configuring the media subsystem can be complex, as there are 26 hundreds of drivers and other config options. 27 28 This menu offers option that will help the Kernel's config 29 system to hide drivers that are out of the scope of the 30 user needs, and disabling core support for unused APIs. 31 32 If not selected, all non-optional media core functionality 33 needed to support media drivers will be enabled. Also, all 34 media device drivers should be shown. 35 36menu "Media device types" 37 visible if MEDIA_SUPPORT_FILTER 38 39# 40# Multimedia support - automatically enable V4L2 and DVB core 41# 42config MEDIA_CAMERA_SUPPORT 43 bool "Cameras and video grabbers" 44 default y if !MEDIA_SUPPORT_FILTER 45 help 46 Enable support for webcams and video grabbers. 47 48 Say Y when you have a webcam or a video capture grabber board. 49 50config MEDIA_ANALOG_TV_SUPPORT 51 bool "Analog TV" 52 default y if !MEDIA_SUPPORT_FILTER 53 help 54 Enable analog TV support. 55 56 Say Y when you have a board with analog TV support. 57 58config MEDIA_DIGITAL_TV_SUPPORT 59 bool "Digital TV" 60 default y if !MEDIA_SUPPORT_FILTER 61 help 62 Enable digital TV support. 63 64 Say Y when you have a board with digital TV support. 65 66config MEDIA_RADIO_SUPPORT 67 bool "AM/FM radio receivers/transmitters" 68 default y if !MEDIA_SUPPORT_FILTER 69 help 70 Enable AM/FM radio support. 71 72 Additional info and docs are available on the web at 73 <https://linuxtv.org> 74 75 Say Y when you have a board with radio support. 76 77config MEDIA_SDR_SUPPORT 78 bool "Software defined radio" 79 default y if !MEDIA_SUPPORT_FILTER 80 help 81 Enable software defined radio support. 82 83 Say Y when you have a software defined radio device. 84 85config MEDIA_CEC_SUPPORT 86 bool "HDMI CEC" 87 default y if !MEDIA_SUPPORT_FILTER 88 help 89 Enable support for HDMI CEC (Consumer Electronics Control), 90 which is an optional HDMI feature. 91 92 Say Y when you have an HDMI receiver, transmitter or a USB CEC 93 adapter that supports HDMI CEC. 94 95config MEDIA_PLATFORM_SUPPORT 96 bool "Platform-specific devices" 97 default y if !MEDIA_SUPPORT_FILTER 98 help 99 Enable support for complex cameras, codecs, and other hardware 100 that are integrated at the CPU, GPU or on Image Signalling Processor 101 and don't use PCI, USB or Firewire buses. 102 103 This is found on Embedded hardware (SoC), on V4L2 codecs and 104 on some GPU and newer CPU chipsets. 105 106 Say Y when you want to be able so see such devices. 107 108config MEDIA_TEST_SUPPORT 109 bool "Test drivers" 110 default y if !MEDIA_SUPPORT_FILTER 111 help 112 Those drivers should not be used on production Kernels, but 113 can be useful on debug ones. It enables several dummy drivers 114 that simulate a real hardware. Very useful to test userspace 115 applications and to validate if the subsystem core is doesn't 116 have regressions. 117 118 Say Y if you want to use some virtual test driver. 119 120 In case of doubts, say N. 121 Say Y when you have a software defined radio device. 122endmenu # media device types 123 124comment "Multimedia core features" 125 126# 127# Video4Linux support 128# Only enables if one of the V4L2 types (ATV, webcam, radio) is selected 129# 130 131comment "Video4Linux core enabled to support hybrid TV devices" 132 depends on MEDIA_HYBRID_USB || MEDIA_HYBRID_PCI 133 134config VIDEO_DEV 135 tristate 136 prompt "Video4Linux core" if !(MEDIA_HYBRID_USB || MEDIA_HYBRID_PCI) 137 default MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_RADIO_SUPPORT || MEDIA_SDR_SUPPORT || MEDIA_PLATFORM_SUPPORT || MEDIA_TEST_SUPPORT || MEDIA_HYBRID_USB || MEDIA_HYBRID_PCI 138 139# 140# DVB Core 141# Only enables if one of DTV is selected 142# 143 144comment "Digital TV core enabled to support hybrid TV devices" 145 depends on MEDIA_HYBRID_USB || MEDIA_HYBRID_PCI 146 147config DVB_CORE 148 tristate 149 prompt "Digital TV core" if !(MEDIA_HYBRID_USB || MEDIA_HYBRID_PCI) 150 depends on MEDIA_DIGITAL_TV_SUPPORT 151 depends on (I2C || I2C=n) 152 default y 153 select CRC32 154 155 help 156 157 158 159 160source "drivers/media/v4l2-core/Kconfig" 161source "drivers/media/mc/Kconfig" 162source "drivers/media/dvb-core/Kconfig" 163source "drivers/media/cec/Kconfig" 164 165comment "Media drivers" 166 167comment "Drivers filtered as selected at 'Filter media drivers'" 168 depends on MEDIA_SUPPORT_FILTER 169 170source "drivers/media/usb/Kconfig" 171source "drivers/media/pci/Kconfig" 172source "drivers/media/radio/Kconfig" 173 174# Common driver options 175source "drivers/media/common/Kconfig" 176 177if MEDIA_PLATFORM_SUPPORT 178source "drivers/media/platform/Kconfig" 179source "drivers/media/test_drivers/Kconfig" 180source "drivers/media/mmc/Kconfig" 181endif 182 183source "drivers/media/firewire/Kconfig" 184 185comment "Media ancillary drivers (tuners, sensors, i2c, spi, frontends)" 186 187# 188# Ancillary drivers (tuners, i2c, spi, frontends) 189# 190 191config MEDIA_SUBDRV_AUTOSELECT 192 bool "Autoselect ancillary drivers (tuners, sensors, i2c, spi, frontends)" 193 depends on MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_CAMERA_SUPPORT || MEDIA_SDR_SUPPORT 194 depends on HAS_IOMEM 195 select I2C 196 select I2C_MUX 197 default y if !EMBEDDED 198 help 199 By default, a media driver auto-selects all possible ancillary 200 devices such as tuners, sensors, video encoders/decoders and 201 frontends, that are used by any of the supported devices. 202 203 This is generally the right thing to do, except when there 204 are strict constraints with regards to the kernel size, 205 like on embedded systems. 206 207 Use this option with care, as deselecting ancillary drivers which 208 are, in fact, necessary will result in the lack of the needed 209 functionality for your device (it may not tune or may not have 210 the needed demodulators). 211 212 If unsure say Y. 213 214config MEDIA_HIDE_ANCILLARY_SUBDRV 215 bool 216 depends on MEDIA_SUBDRV_AUTOSELECT && !COMPILE_TEST && !EXPERT 217 default y 218 219config MEDIA_ATTACH 220 bool 221 depends on MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_RADIO_SUPPORT 222 depends on MODULES 223 default MODULES 224 225source "drivers/media/i2c/Kconfig" 226source "drivers/media/spi/Kconfig" 227source "drivers/media/tuners/Kconfig" 228source "drivers/media/dvb-frontends/Kconfig" 229 230endif # MEDIA_SUPPORT 231