162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 262306a36Sopenharmony_ciconfig QCOM_ADM 362306a36Sopenharmony_ci tristate "Qualcomm ADM support" 462306a36Sopenharmony_ci depends on (ARCH_QCOM || COMPILE_TEST) && !PHYS_ADDR_T_64BIT 562306a36Sopenharmony_ci select DMA_ENGINE 662306a36Sopenharmony_ci select DMA_VIRTUAL_CHANNELS 762306a36Sopenharmony_ci help 862306a36Sopenharmony_ci Enable support for the Qualcomm Application Data Mover (ADM) DMA 962306a36Sopenharmony_ci controller, as present on MSM8x60, APQ8064, and IPQ8064 devices. 1062306a36Sopenharmony_ci This controller provides DMA capabilities for both general purpose 1162306a36Sopenharmony_ci and on-chip peripheral devices. 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ciconfig QCOM_BAM_DMA 1462306a36Sopenharmony_ci tristate "QCOM BAM DMA support" 1562306a36Sopenharmony_ci depends on ARCH_QCOM || (COMPILE_TEST && OF && ARM) 1662306a36Sopenharmony_ci select DMA_ENGINE 1762306a36Sopenharmony_ci select DMA_VIRTUAL_CHANNELS 1862306a36Sopenharmony_ci help 1962306a36Sopenharmony_ci Enable support for the QCOM BAM DMA controller. This controller 2062306a36Sopenharmony_ci provides DMA capabilities for a variety of on-chip devices. 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_ciconfig QCOM_GPI_DMA 2362306a36Sopenharmony_ci tristate "Qualcomm Technologies GPI DMA support" 2462306a36Sopenharmony_ci depends on ARCH_QCOM 2562306a36Sopenharmony_ci select DMA_ENGINE 2662306a36Sopenharmony_ci select DMA_VIRTUAL_CHANNELS 2762306a36Sopenharmony_ci help 2862306a36Sopenharmony_ci Enable support for the QCOM GPI DMA controller. This controller 2962306a36Sopenharmony_ci provides DMA capabilities for a variety of peripheral buses such 3062306a36Sopenharmony_ci as I2C, UART, and SPI. By using GPI dmaengine driver, bus drivers 3162306a36Sopenharmony_ci can use a standardize interface that is protocol independent to 3262306a36Sopenharmony_ci transfer data between DDR and peripheral. 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_ciconfig QCOM_HIDMA_MGMT 3562306a36Sopenharmony_ci tristate "Qualcomm Technologies HIDMA Management support" 3662306a36Sopenharmony_ci depends on HAS_IOMEM 3762306a36Sopenharmony_ci select DMA_ENGINE 3862306a36Sopenharmony_ci help 3962306a36Sopenharmony_ci Enable support for the Qualcomm Technologies HIDMA Management. 4062306a36Sopenharmony_ci Each DMA device requires one management interface driver 4162306a36Sopenharmony_ci for basic initialization before QCOM_HIDMA channel driver can 4262306a36Sopenharmony_ci start managing the channels. In a virtualized environment, 4362306a36Sopenharmony_ci the guest OS would run QCOM_HIDMA channel driver and the 4462306a36Sopenharmony_ci host would run the QCOM_HIDMA_MGMT management driver. 4562306a36Sopenharmony_ci 4662306a36Sopenharmony_ciconfig QCOM_HIDMA 4762306a36Sopenharmony_ci tristate "Qualcomm Technologies HIDMA Channel support" 4862306a36Sopenharmony_ci depends on HAS_IOMEM 4962306a36Sopenharmony_ci select DMA_ENGINE 5062306a36Sopenharmony_ci help 5162306a36Sopenharmony_ci Enable support for the Qualcomm Technologies HIDMA controller. 5262306a36Sopenharmony_ci The HIDMA controller supports optimized buffer copies 5362306a36Sopenharmony_ci (user to kernel, kernel to kernel, etc.). It only supports 5462306a36Sopenharmony_ci memcpy interface. The core is not intended for general 5562306a36Sopenharmony_ci purpose slave DMA. 56