Kconfig 6.8 KB

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