Kconfig 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243
  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. #
  85. # Video4Linux support
  86. # Only enables if one of the V4L2 types (ATV, webcam, radio) is selected
  87. #
  88. config VIDEO_DEV
  89. tristate
  90. depends on MEDIA_SUPPORT
  91. depends on MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_RADIO_SUPPORT || MEDIA_SDR_SUPPORT
  92. default y
  93. config VIDEO_V4L2_SUBDEV_API
  94. bool "V4L2 sub-device userspace API"
  95. depends on VIDEO_DEV && MEDIA_CONTROLLER
  96. ---help---
  97. Enables the V4L2 sub-device pad-level userspace API used to configure
  98. video format, size and frame rate between hardware blocks.
  99. This API is mostly used by camera interfaces in embedded platforms.
  100. source "drivers/media/v4l2-core/Kconfig"
  101. #
  102. # DVB Core
  103. # Only enables if one of DTV is selected
  104. #
  105. config DVB_CORE
  106. tristate
  107. depends on MEDIA_SUPPORT
  108. depends on MEDIA_DIGITAL_TV_SUPPORT
  109. depends on (I2C || I2C=n)
  110. default y
  111. select CRC32
  112. config DVB_MMAP
  113. bool "Enable DVB memory-mapped API (EXPERIMENTAL)"
  114. depends on DVB_CORE
  115. depends on VIDEO_V4L2=y || VIDEO_V4L2=DVB_CORE
  116. select VIDEOBUF2_VMALLOC
  117. default n
  118. help
  119. This option enables DVB experimental memory-mapped API, which
  120. reduces the number of context switches to read DVB buffers, as
  121. the buffers can use mmap() syscalls.
  122. Support for it is experimental. Use with care. If unsure,
  123. say N.
  124. config DVB_NET
  125. bool "DVB Network Support"
  126. default (NET && INET)
  127. depends on NET && INET && DVB_CORE
  128. help
  129. This option enables DVB Network Support which is a part of the DVB
  130. standard. It is used, for example, by automatic firmware updates used
  131. on Set-Top-Boxes. It can also be used to access the Internet via the
  132. DVB card, if the network provider supports it.
  133. You may want to disable the network support on embedded devices. If
  134. unsure say Y.
  135. # This Kconfig option is used by both PCI and USB drivers
  136. config TTPCI_EEPROM
  137. tristate
  138. depends on I2C
  139. default n
  140. source "drivers/media/dvb-core/Kconfig"
  141. comment "Media drivers"
  142. #
  143. # V4L platform/mem2mem drivers
  144. #
  145. source "drivers/media/usb/Kconfig"
  146. source "drivers/media/pci/Kconfig"
  147. source "drivers/media/platform/Kconfig"
  148. source "drivers/media/mmc/Kconfig"
  149. source "drivers/media/radio/Kconfig"
  150. comment "Supported FireWire (IEEE 1394) Adapters"
  151. depends on DVB_CORE && FIREWIRE
  152. source "drivers/media/firewire/Kconfig"
  153. # Common driver options
  154. source "drivers/media/common/Kconfig"
  155. comment "Media ancillary drivers (tuners, sensors, i2c, spi, frontends)"
  156. #
  157. # Ancillary drivers (tuners, i2c, spi, frontends)
  158. #
  159. config MEDIA_SUBDRV_AUTOSELECT
  160. bool "Autoselect ancillary drivers (tuners, sensors, i2c, spi, frontends)"
  161. depends on MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_CAMERA_SUPPORT || MEDIA_SDR_SUPPORT
  162. depends on HAS_IOMEM
  163. select I2C
  164. select I2C_MUX
  165. default y
  166. help
  167. By default, a media driver auto-selects all possible ancillary
  168. devices such as tuners, sensors, video encoders/decoders and
  169. frontends, that are used by any of the supported devices.
  170. This is generally the right thing to do, except when there
  171. are strict constraints with regards to the kernel size,
  172. like on embedded systems.
  173. Use this option with care, as deselecting ancillary drivers which
  174. are, in fact, necessary will result in the lack of the needed
  175. functionality for your device (it may not tune or may not have
  176. the needed demodulators).
  177. If unsure say Y.
  178. config MEDIA_ATTACH
  179. bool
  180. depends on MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_RADIO_SUPPORT
  181. depends on MODULES
  182. default MODULES
  183. source "drivers/media/i2c/Kconfig"
  184. source "drivers/media/spi/Kconfig"
  185. source "drivers/media/tuners/Kconfig"
  186. source "drivers/media/dvb-frontends/Kconfig"
  187. endif # MEDIA_SUPPORT