| # 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. |