123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261 |
- # SPDX-License-Identifier: GPL-2.0-only
- #
- # Multimedia device configuration
- #
- #
- # NOTE: CEC and Remote Controller support should not depend on MEDIA_SUPPORT
- #
- source "drivers/media/rc/Kconfig"
- source "drivers/media/cec/Kconfig"
- menuconfig MEDIA_SUPPORT
- tristate "Multimedia support"
- depends on HAS_IOMEM
- help
- If you want to use media devices, including Webcams, Video grabber
- devices and/or TV devices, V4L2 codecs, etc, enable this option
- and other options below.
- Additional info and docs are available on the web at
- <https://linuxtv.org>
- if MEDIA_SUPPORT
- config MEDIA_SUPPORT_FILTER
- bool "Filter media drivers"
- default y if !EXPERT
- help
- Configuring the media subsystem can be complex, as there are
- hundreds of drivers and other config options.
- This menu offers option that will help the Kernel's config
- system to hide drivers that are out of the scope of the
- user needs, and disabling core support for unused APIs.
- If not selected, all non-optional media core functionality
- needed to support media drivers will be enabled. Also, all
- media device drivers should be shown.
- config MEDIA_SUBDRV_AUTOSELECT
- bool "Autoselect ancillary drivers (tuners, sensors, i2c, spi, frontends)"
- depends on HAS_IOMEM
- select I2C
- select I2C_MUX
- default y if MEDIA_SUPPORT_FILTER
- help
- By default, a media driver auto-selects all possible ancillary
- devices such as tuners, sensors, video encoders/decoders and
- frontends, that are used by any of the supported devices.
- This is generally the right thing to do, except when there
- are strict constraints with regards to the kernel size,
- like on embedded systems.
- Use this option with care, as deselecting ancillary drivers which
- are, in fact, necessary will result in the lack of the needed
- functionality for your device (it may not tune or may not have
- the needed demodulators).
- If unsure say Y.
- menu "Media device types"
- #
- # Multimedia support - automatically enable V4L2 and DVB core
- #
- config MEDIA_CAMERA_SUPPORT
- bool "Cameras and video grabbers"
- default y if !MEDIA_SUPPORT_FILTER
- help
- Enable support for webcams and video grabbers.
- Say Y when you have a webcam or a video capture grabber board.
- config MEDIA_ANALOG_TV_SUPPORT
- bool "Analog TV"
- default y if !MEDIA_SUPPORT_FILTER
- help
- Enable analog TV support.
- Say Y when you have a TV board with analog support or with a
- hybrid analog/digital TV chipset.
- Note: There are several DVB cards that are based on chips that
- support both analog and digital TV. Disabling this option
- will disable support for them.
- config MEDIA_DIGITAL_TV_SUPPORT
- bool "Digital TV"
- default y if !MEDIA_SUPPORT_FILTER
- help
- Enable digital TV support.
- Say Y when you have a board with digital support or a board with
- hybrid digital TV and analog TV.
- config MEDIA_RADIO_SUPPORT
- bool "AM/FM radio receivers/transmitters"
- default y if !MEDIA_SUPPORT_FILTER
- help
- Enable AM/FM radio support.
- Additional info and docs are available on the web at
- <https://linuxtv.org>
- Say Y when you have a board with radio support.
- Note: There are several TV cards that are based on chips that
- support radio reception. Disabling this option will
- disable support for them.
- config MEDIA_SDR_SUPPORT
- bool "Software defined radio"
- default y if !MEDIA_SUPPORT_FILTER
- help
- Enable software defined radio support.
- Say Y when you have a software defined radio device.
- config MEDIA_PLATFORM_SUPPORT
- bool "Platform-specific devices"
- default y if !MEDIA_SUPPORT_FILTER
- help
- Enable support for complex cameras, codecs, and other hardware
- that are integrated at the CPU, GPU or on Image Signalling Processor
- and don't use PCI, USB or Firewire buses.
- This is found on Embedded hardware (SoC), on V4L2 codecs and
- on some GPU and newer CPU chipsets.
- Say Y when you want to be able to see such devices.
- config MEDIA_TEST_SUPPORT
- bool "Test drivers"
- default y if !MEDIA_SUPPORT_FILTER
- help
- These drivers should not be used on production kernels, but
- can be useful on debug ones. This option enables several dummy drivers
- that simulate real hardware. Very useful to test userspace
- applications and to validate if the subsystem core doesn't
- have regressions.
- Say Y if you want to use some virtual test driver.
- In case of doubts, say N.
- Say Y when you have a software defined radio device.
- endmenu # media device types
- menu "Media core support"
- visible if !MEDIA_SUPPORT_FILTER
- config VIDEO_DEV
- tristate "Video4Linux core"
- default MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_RADIO_SUPPORT || MEDIA_SDR_SUPPORT || MEDIA_PLATFORM_SUPPORT || MEDIA_TEST_SUPPORT
- depends on (I2C || I2C=n)
- select RATIONAL
- select VIDEOBUF2_V4L2 if VIDEOBUF2_CORE
- help
- Enables the V4L2 API, used by cameras, analog TV, video grabbers,
- radio devices and by some input devices.
- config MEDIA_CONTROLLER
- bool "Media Controller API"
- default MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_PLATFORM_SUPPORT
- help
- Enable the media controller API used to query media devices internal
- topology and configure it dynamically.
- This API is mostly used by camera interfaces in embedded platforms.
- #
- # DVB Core
- # Only enables if one of DTV is selected
- #
- config DVB_CORE
- tristate
- depends on MEDIA_DIGITAL_TV_SUPPORT
- depends on (I2C || I2C=n)
- default MEDIA_DIGITAL_TV_SUPPORT
- select CRC32
- help
- Enables the DVB API, used by Digital TV devices. Supports several
- standards, including DVB, ATSC, ISDB and CMDB.
- endmenu # Media core support
- #
- # Extra per-media API core functionality
- menu "Video4Linux options"
- visible if VIDEO_DEV
- source "drivers/media/v4l2-core/Kconfig"
- endmenu
- menu "Media controller options"
- visible if MEDIA_CONTROLLER
- source "drivers/media/mc/Kconfig"
- endmenu
- menu "Digital TV options"
- visible if DVB_CORE
- source "drivers/media/dvb-core/Kconfig"
- endmenu
- menu "Media drivers"
- comment "Drivers filtered as selected at 'Filter media drivers'"
- depends on MEDIA_SUPPORT_FILTER
- comment "Media drivers"
- source "drivers/media/usb/Kconfig"
- source "drivers/media/pci/Kconfig"
- source "drivers/media/radio/Kconfig"
- if MEDIA_PLATFORM_SUPPORT
- source "drivers/media/platform/Kconfig"
- source "drivers/media/mmc/Kconfig"
- endif
- if MEDIA_TEST_SUPPORT
- source "drivers/media/test-drivers/Kconfig"
- endif
- source "drivers/media/firewire/Kconfig"
- # Common driver options
- source "drivers/media/common/Kconfig"
- endmenu
- #
- # Ancillary drivers (tuners, i2c, spi, frontends)
- #
- config MEDIA_HIDE_ANCILLARY_SUBDRV
- bool
- depends on MEDIA_SUBDRV_AUTOSELECT && !COMPILE_TEST && !EXPERT
- default y
- menu "Media ancillary drivers"
- config MEDIA_ATTACH
- bool
- depends on MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_RADIO_SUPPORT
- depends on MODULES
- default MODULES
- source "drivers/media/i2c/Kconfig"
- source "drivers/media/spi/Kconfig"
- source "drivers/media/tuners/Kconfig"
- source "drivers/media/dvb-frontends/Kconfig"
- endmenu
- endif # MEDIA_SUPPORT
|