linux/drivers/dma/qcom/Kconfig

# SPDX-License-Identifier: GPL-2.0-only
config QCOM_ADM
	tristate "Qualcomm ADM support"
	depends on (ARCH_QCOM || COMPILE_TEST) && !PHYS_ADDR_T_64BIT
	select DMA_ENGINE
	select DMA_VIRTUAL_CHANNELS
	help
	  Enable support for the Qualcomm Application Data Mover (ADM) DMA
	  controller, as present on MSM8x60, APQ8064, and IPQ8064 devices.
	  This controller provides DMA capabilities for both general purpose
	  and on-chip peripheral devices.

config QCOM_BAM_DMA
	tristate "QCOM BAM DMA support"
	depends on ARCH_QCOM || (COMPILE_TEST && OF && ARM)
	select DMA_ENGINE
	select DMA_VIRTUAL_CHANNELS
	help
	  Enable support for the QCOM BAM DMA controller.  This controller
	  provides DMA capabilities for a variety of on-chip devices.

config QCOM_GPI_DMA
        tristate "Qualcomm Technologies GPI DMA support"
        depends on ARCH_QCOM
        select DMA_ENGINE
        select DMA_VIRTUAL_CHANNELS
        help
          Enable support for the QCOM GPI DMA controller. This controller
          provides DMA capabilities for a variety of peripheral buses such
          as I2C, UART, and SPI. By using GPI dmaengine driver, bus drivers
          can use a standardize interface that is protocol independent to
          transfer data between DDR and peripheral.

config QCOM_HIDMA_MGMT
	tristate "Qualcomm Technologies HIDMA Management support"
	depends on HAS_IOMEM
	select DMA_ENGINE
	help
	  Enable support for the Qualcomm Technologies HIDMA Management.
	  Each DMA device requires one management interface driver
	  for basic initialization before QCOM_HIDMA channel driver can
	  start managing the channels. In a virtualized environment,
	  the guest OS would run QCOM_HIDMA channel driver and the
	  host would run the QCOM_HIDMA_MGMT management driver.

config QCOM_HIDMA
	tristate "Qualcomm Technologies HIDMA Channel support"
	depends on HAS_IOMEM
	select DMA_ENGINE
	help
	  Enable support for the Qualcomm Technologies HIDMA controller.
	  The HIDMA controller supports optimized buffer copies
	  (user to kernel, kernel to kernel, etc.).  It only supports
	  memcpy interface. The core is not intended for general
	  purpose slave DMA.