| David Brazdil | 0f672f6 | 2019-12-10 10:32:29 +0000 | [diff] [blame^] | 1 | # SPDX-License-Identifier: GPL-2.0-only |
| Andrew Scull | b4b6d4a | 2019-01-02 15:54:55 +0000 | [diff] [blame] | 2 | # |
| 3 | # Multimedia device configuration |
| 4 | # |
| 5 | |
| 6 | config CEC_CORE |
| 7 | tristate |
| 8 | |
| 9 | config CEC_NOTIFIER |
| 10 | bool |
| 11 | |
| 12 | config CEC_PIN |
| 13 | bool |
| 14 | |
| 15 | source "drivers/media/rc/Kconfig" |
| 16 | |
| 17 | menuconfig 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 | |
| 26 | if MEDIA_SUPPORT |
| 27 | |
| 28 | comment "Multimedia core support" |
| 29 | |
| 30 | # |
| 31 | # Multimedia support - automatically enable V4L2 and DVB core |
| 32 | # |
| 33 | config MEDIA_CAMERA_SUPPORT |
| 34 | bool "Cameras/video grabbers support" |
| David Brazdil | 0f672f6 | 2019-12-10 10:32:29 +0000 | [diff] [blame^] | 35 | help |
| Andrew Scull | b4b6d4a | 2019-01-02 15:54:55 +0000 | [diff] [blame] | 36 | Enable support for webcams and video grabbers. |
| 37 | |
| 38 | Say Y when you have a webcam or a video capture grabber board. |
| 39 | |
| 40 | config MEDIA_ANALOG_TV_SUPPORT |
| 41 | bool "Analog TV support" |
| David Brazdil | 0f672f6 | 2019-12-10 10:32:29 +0000 | [diff] [blame^] | 42 | help |
| Andrew Scull | b4b6d4a | 2019-01-02 15:54:55 +0000 | [diff] [blame] | 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 | |
| 52 | config MEDIA_DIGITAL_TV_SUPPORT |
| 53 | bool "Digital TV support" |
| David Brazdil | 0f672f6 | 2019-12-10 10:32:29 +0000 | [diff] [blame^] | 54 | help |
| Andrew Scull | b4b6d4a | 2019-01-02 15:54:55 +0000 | [diff] [blame] | 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 | |
| 60 | config MEDIA_RADIO_SUPPORT |
| 61 | bool "AM/FM radio receivers/transmitters support" |
| David Brazdil | 0f672f6 | 2019-12-10 10:32:29 +0000 | [diff] [blame^] | 62 | help |
| Andrew Scull | b4b6d4a | 2019-01-02 15:54:55 +0000 | [diff] [blame] | 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 | |
| 74 | config MEDIA_SDR_SUPPORT |
| 75 | bool "Software defined radio support" |
| David Brazdil | 0f672f6 | 2019-12-10 10:32:29 +0000 | [diff] [blame^] | 76 | help |
| Andrew Scull | b4b6d4a | 2019-01-02 15:54:55 +0000 | [diff] [blame] | 77 | Enable software defined radio support. |
| 78 | |
| 79 | Say Y when you have a software defined radio device. |
| 80 | |
| 81 | config MEDIA_CEC_SUPPORT |
| 82 | bool "HDMI CEC support" |
| David Brazdil | 0f672f6 | 2019-12-10 10:32:29 +0000 | [diff] [blame^] | 83 | help |
| Andrew Scull | b4b6d4a | 2019-01-02 15:54:55 +0000 | [diff] [blame] | 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 | |
| 90 | source "drivers/media/cec/Kconfig" |
| 91 | |
| David Brazdil | 0f672f6 | 2019-12-10 10:32:29 +0000 | [diff] [blame^] | 92 | source "drivers/media/mc/Kconfig" |
| Andrew Scull | b4b6d4a | 2019-01-02 15:54:55 +0000 | [diff] [blame] | 93 | |
| 94 | # |
| 95 | # Video4Linux support |
| 96 | # Only enables if one of the V4L2 types (ATV, webcam, radio) is selected |
| 97 | # |
| 98 | |
| 99 | config 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 | |
| 105 | config VIDEO_V4L2_SUBDEV_API |
| 106 | bool "V4L2 sub-device userspace API" |
| 107 | depends on VIDEO_DEV && MEDIA_CONTROLLER |
| David Brazdil | 0f672f6 | 2019-12-10 10:32:29 +0000 | [diff] [blame^] | 108 | help |
| Andrew Scull | b4b6d4a | 2019-01-02 15:54:55 +0000 | [diff] [blame] | 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 | |
| 114 | source "drivers/media/v4l2-core/Kconfig" |
| 115 | |
| 116 | # |
| 117 | # DVB Core |
| 118 | # Only enables if one of DTV is selected |
| 119 | # |
| 120 | |
| 121 | config 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 | |
| 129 | config 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 |
| Andrew Scull | b4b6d4a | 2019-01-02 15:54:55 +0000 | [diff] [blame] | 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 | |
| 142 | config 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 |
| 156 | config TTPCI_EEPROM |
| 157 | tristate |
| 158 | depends on I2C |
| Andrew Scull | b4b6d4a | 2019-01-02 15:54:55 +0000 | [diff] [blame] | 159 | |
| 160 | source "drivers/media/dvb-core/Kconfig" |
| 161 | |
| 162 | comment "Media drivers" |
| 163 | |
| 164 | # |
| 165 | # V4L platform/mem2mem drivers |
| 166 | # |
| 167 | |
| 168 | source "drivers/media/usb/Kconfig" |
| 169 | source "drivers/media/pci/Kconfig" |
| 170 | source "drivers/media/platform/Kconfig" |
| 171 | source "drivers/media/mmc/Kconfig" |
| 172 | source "drivers/media/radio/Kconfig" |
| 173 | |
| 174 | comment "Supported FireWire (IEEE 1394) Adapters" |
| 175 | depends on DVB_CORE && FIREWIRE |
| 176 | source "drivers/media/firewire/Kconfig" |
| 177 | |
| 178 | # Common driver options |
| 179 | source "drivers/media/common/Kconfig" |
| 180 | |
| 181 | comment "Media ancillary drivers (tuners, sensors, i2c, spi, frontends)" |
| 182 | |
| 183 | # |
| 184 | # Ancillary drivers (tuners, i2c, spi, frontends) |
| 185 | # |
| 186 | |
| 187 | config 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 |
| David Brazdil | 0f672f6 | 2019-12-10 10:32:29 +0000 | [diff] [blame^] | 193 | default y if !EMBEDDED |
| Andrew Scull | b4b6d4a | 2019-01-02 15:54:55 +0000 | [diff] [blame] | 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 | |
| David Brazdil | 0f672f6 | 2019-12-10 10:32:29 +0000 | [diff] [blame^] | 210 | config MEDIA_HIDE_ANCILLARY_SUBDRV |
| 211 | bool |
| 212 | depends on MEDIA_SUBDRV_AUTOSELECT && !COMPILE_TEST && !EXPERT |
| 213 | default y |
| 214 | |
| Andrew Scull | b4b6d4a | 2019-01-02 15:54:55 +0000 | [diff] [blame] | 215 | config 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 | |
| 221 | source "drivers/media/i2c/Kconfig" |
| 222 | source "drivers/media/spi/Kconfig" |
| 223 | source "drivers/media/tuners/Kconfig" |
| 224 | source "drivers/media/dvb-frontends/Kconfig" |
| 225 | |
| 226 | endif # MEDIA_SUPPORT |