| xj | b04a402 | 2021-11-25 15:01:52 +0800 | [diff] [blame] | 1 | # |
| 2 | # Multimedia device configuration |
| 3 | # |
| 4 | |
| 5 | config CEC_CORE |
| 6 | tristate |
| 7 | |
| 8 | config CEC_NOTIFIER |
| 9 | bool |
| 10 | |
| 11 | config CEC_PIN |
| 12 | bool |
| 13 | |
| 14 | source "drivers/media/rc/Kconfig" |
| 15 | |
| 16 | menuconfig MEDIA_SUPPORT |
| 17 | tristate "Multimedia support" |
| 18 | depends on HAS_IOMEM |
| 19 | help |
| 20 | If you want to use Webcams, Video grabber devices and/or TV devices |
| 21 | enable this option and other options below. |
| 22 | Additional info and docs are available on the web at |
| 23 | <https://linuxtv.org> |
| 24 | |
| 25 | if MEDIA_SUPPORT |
| 26 | |
| 27 | comment "Multimedia core support" |
| 28 | |
| 29 | # |
| 30 | # Multimedia support - automatically enable V4L2 and DVB core |
| 31 | # |
| 32 | config MEDIA_CAMERA_SUPPORT |
| 33 | bool "Cameras/video grabbers support" |
| 34 | ---help--- |
| 35 | Enable support for webcams and video grabbers. |
| 36 | |
| 37 | Say Y when you have a webcam or a video capture grabber board. |
| 38 | |
| 39 | config MEDIA_ANALOG_TV_SUPPORT |
| 40 | bool "Analog TV support" |
| 41 | ---help--- |
| 42 | Enable analog TV support. |
| 43 | |
| 44 | Say Y when you have a TV board with analog support or with a |
| 45 | hybrid analog/digital TV chipset. |
| 46 | |
| 47 | Note: There are several DVB cards that are based on chips that |
| 48 | support both analog and digital TV. Disabling this option |
| 49 | will disable support for them. |
| 50 | |
| 51 | config MEDIA_DIGITAL_TV_SUPPORT |
| 52 | bool "Digital TV support" |
| 53 | ---help--- |
| 54 | Enable digital TV support. |
| 55 | |
| 56 | Say Y when you have a board with digital support or a board with |
| 57 | hybrid digital TV and analog TV. |
| 58 | |
| 59 | config MEDIA_RADIO_SUPPORT |
| 60 | bool "AM/FM radio receivers/transmitters support" |
| 61 | ---help--- |
| 62 | Enable AM/FM radio support. |
| 63 | |
| 64 | Additional info and docs are available on the web at |
| 65 | <https://linuxtv.org> |
| 66 | |
| 67 | Say Y when you have a board with radio support. |
| 68 | |
| 69 | Note: There are several TV cards that are based on chips that |
| 70 | support radio reception. Disabling this option will |
| 71 | disable support for them. |
| 72 | |
| 73 | config MEDIA_SDR_SUPPORT |
| 74 | bool "Software defined radio support" |
| 75 | ---help--- |
| 76 | Enable software defined radio support. |
| 77 | |
| 78 | Say Y when you have a software defined radio device. |
| 79 | |
| 80 | config MEDIA_CEC_SUPPORT |
| 81 | bool "HDMI CEC support" |
| 82 | ---help--- |
| 83 | Enable support for HDMI CEC (Consumer Electronics Control), |
| 84 | which is an optional HDMI feature. |
| 85 | |
| 86 | Say Y when you have an HDMI receiver, transmitter or a USB CEC |
| 87 | adapter that supports HDMI CEC. |
| 88 | |
| 89 | source "drivers/media/cec/Kconfig" |
| 90 | |
| 91 | # |
| 92 | # Media controller |
| 93 | # Selectable only for webcam/grabbers, as other drivers don't use it |
| 94 | # |
| 95 | |
| 96 | config MEDIA_CONTROLLER |
| 97 | bool "Media Controller API" |
| 98 | depends on MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT |
| 99 | ---help--- |
| 100 | Enable the media controller API used to query media devices internal |
| 101 | topology and configure it dynamically. |
| 102 | |
| 103 | This API is mostly used by camera interfaces in embedded platforms. |
| 104 | |
| 105 | config MEDIA_CONTROLLER_DVB |
| 106 | bool "Enable Media controller for DVB (EXPERIMENTAL)" |
| 107 | depends on MEDIA_CONTROLLER && DVB_CORE |
| 108 | ---help--- |
| 109 | Enable the media controller API support for DVB. |
| 110 | |
| 111 | This is currently experimental. |
| 112 | |
| 113 | config MEDIA_CONTROLLER_REQUEST_API |
| 114 | bool "Enable Media controller Request API (EXPERIMENTAL)" |
| 115 | depends on MEDIA_CONTROLLER && STAGING_MEDIA |
| 116 | default n |
| 117 | ---help--- |
| 118 | DO NOT ENABLE THIS OPTION UNLESS YOU KNOW WHAT YOU'RE DOING. |
| 119 | |
| 120 | This option enables the Request API for the Media controller and V4L2 |
| 121 | interfaces. It is currently needed by a few stateless codec drivers. |
| 122 | |
| 123 | There is currently no intention to provide API or ABI stability for |
| 124 | this new API as of yet. |
| 125 | |
| 126 | # |
| 127 | # Video4Linux support |
| 128 | # Only enables if one of the V4L2 types (ATV, webcam, radio) is selected |
| 129 | # |
| 130 | |
| 131 | config VIDEO_DEV |
| 132 | tristate |
| 133 | depends on MEDIA_SUPPORT |
| 134 | depends on MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_RADIO_SUPPORT || MEDIA_SDR_SUPPORT |
| 135 | default y |
| 136 | |
| 137 | config VIDEO_V4L2_SUBDEV_API |
| 138 | bool "V4L2 sub-device userspace API" |
| 139 | depends on VIDEO_DEV && MEDIA_CONTROLLER |
| 140 | ---help--- |
| 141 | Enables the V4L2 sub-device pad-level userspace API used to configure |
| 142 | video format, size and frame rate between hardware blocks. |
| 143 | |
| 144 | This API is mostly used by camera interfaces in embedded platforms. |
| 145 | |
| 146 | source "drivers/media/v4l2-core/Kconfig" |
| 147 | |
| 148 | # |
| 149 | # DVB Core |
| 150 | # Only enables if one of DTV is selected |
| 151 | # |
| 152 | |
| 153 | config DVB_CORE |
| 154 | tristate |
| 155 | depends on MEDIA_SUPPORT |
| 156 | depends on MEDIA_DIGITAL_TV_SUPPORT |
| 157 | depends on (I2C || I2C=n) |
| 158 | default y |
| 159 | select CRC32 |
| 160 | |
| 161 | config DVB_MMAP |
| 162 | bool "Enable DVB memory-mapped API (EXPERIMENTAL)" |
| 163 | depends on DVB_CORE |
| 164 | depends on VIDEO_V4L2=y || VIDEO_V4L2=DVB_CORE |
| 165 | select VIDEOBUF2_VMALLOC |
| 166 | default n |
| 167 | help |
| 168 | This option enables DVB experimental memory-mapped API, which |
| 169 | reduces the number of context switches to read DVB buffers, as |
| 170 | the buffers can use mmap() syscalls. |
| 171 | |
| 172 | Support for it is experimental. Use with care. If unsure, |
| 173 | say N. |
| 174 | |
| 175 | config DVB_NET |
| 176 | bool "DVB Network Support" |
| 177 | default (NET && INET) |
| 178 | depends on NET && INET && DVB_CORE |
| 179 | help |
| 180 | This option enables DVB Network Support which is a part of the DVB |
| 181 | standard. It is used, for example, by automatic firmware updates used |
| 182 | on Set-Top-Boxes. It can also be used to access the Internet via the |
| 183 | DVB card, if the network provider supports it. |
| 184 | |
| 185 | You may want to disable the network support on embedded devices. If |
| 186 | unsure say Y. |
| 187 | |
| 188 | # This Kconfig option is used by both PCI and USB drivers |
| 189 | config TTPCI_EEPROM |
| 190 | tristate |
| 191 | depends on I2C |
| 192 | default n |
| 193 | |
| 194 | source "drivers/media/dvb-core/Kconfig" |
| 195 | |
| 196 | comment "Media drivers" |
| 197 | |
| 198 | # |
| 199 | # V4L platform/mem2mem drivers |
| 200 | # |
| 201 | |
| 202 | source "drivers/media/usb/Kconfig" |
| 203 | source "drivers/media/pci/Kconfig" |
| 204 | source "drivers/media/platform/Kconfig" |
| 205 | source "drivers/media/mmc/Kconfig" |
| 206 | source "drivers/media/radio/Kconfig" |
| 207 | |
| 208 | comment "Supported FireWire (IEEE 1394) Adapters" |
| 209 | depends on DVB_CORE && FIREWIRE |
| 210 | source "drivers/media/firewire/Kconfig" |
| 211 | |
| 212 | # Common driver options |
| 213 | source "drivers/media/common/Kconfig" |
| 214 | |
| 215 | comment "Media ancillary drivers (tuners, sensors, i2c, spi, frontends)" |
| 216 | |
| 217 | # |
| 218 | # Ancillary drivers (tuners, i2c, spi, frontends) |
| 219 | # |
| 220 | |
| 221 | config MEDIA_SUBDRV_AUTOSELECT |
| 222 | bool "Autoselect ancillary drivers (tuners, sensors, i2c, spi, frontends)" |
| 223 | depends on MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_CAMERA_SUPPORT || MEDIA_SDR_SUPPORT |
| 224 | depends on HAS_IOMEM |
| 225 | select I2C |
| 226 | select I2C_MUX |
| 227 | default y |
| 228 | help |
| 229 | By default, a media driver auto-selects all possible ancillary |
| 230 | devices such as tuners, sensors, video encoders/decoders and |
| 231 | frontends, that are used by any of the supported devices. |
| 232 | |
| 233 | This is generally the right thing to do, except when there |
| 234 | are strict constraints with regards to the kernel size, |
| 235 | like on embedded systems. |
| 236 | |
| 237 | Use this option with care, as deselecting ancillary drivers which |
| 238 | are, in fact, necessary will result in the lack of the needed |
| 239 | functionality for your device (it may not tune or may not have |
| 240 | the needed demodulators). |
| 241 | |
| 242 | If unsure say Y. |
| 243 | |
| 244 | config MEDIA_ATTACH |
| 245 | bool |
| 246 | depends on MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_RADIO_SUPPORT |
| 247 | depends on MODULES |
| 248 | default MODULES |
| 249 | |
| 250 | source "drivers/media/i2c/Kconfig" |
| 251 | source "drivers/media/spi/Kconfig" |
| 252 | source "drivers/media/tuners/Kconfig" |
| 253 | source "drivers/media/dvb-frontends/Kconfig" |
| 254 | |
| 255 | endif # MEDIA_SUPPORT |