xref: /linux/drivers/dma/qcom/Kconfig (revision 5d0c3533a19f48e5e7e73806a3e4b29cd4364130)
1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
25c9f8c2dSJonathan McDowellconfig QCOM_ADM
35c9f8c2dSJonathan McDowell	tristate "Qualcomm ADM support"
45c9f8c2dSJonathan McDowell	depends on (ARCH_QCOM || COMPILE_TEST) && !PHYS_ADDR_T_64BIT
55c9f8c2dSJonathan McDowell	select DMA_ENGINE
65c9f8c2dSJonathan McDowell	select DMA_VIRTUAL_CHANNELS
75c9f8c2dSJonathan McDowell	help
85c9f8c2dSJonathan McDowell	  Enable support for the Qualcomm Application Data Mover (ADM) DMA
95c9f8c2dSJonathan McDowell	  controller, as present on MSM8x60, APQ8064, and IPQ8064 devices.
105c9f8c2dSJonathan McDowell	  This controller provides DMA capabilities for both general purpose
115c9f8c2dSJonathan McDowell	  and on-chip peripheral devices.
125c9f8c2dSJonathan McDowell
13d9b31efcSSinan Kayaconfig QCOM_BAM_DMA
14d9b31efcSSinan Kaya	tristate "QCOM BAM DMA support"
15d9b31efcSSinan Kaya	depends on ARCH_QCOM || (COMPILE_TEST && OF && ARM)
16d9b31efcSSinan Kaya	select DMA_ENGINE
17d9b31efcSSinan Kaya	select DMA_VIRTUAL_CHANNELS
18a7f7f624SMasahiro Yamada	help
19d9b31efcSSinan Kaya	  Enable support for the QCOM BAM DMA controller.  This controller
20d9b31efcSSinan Kaya	  provides DMA capabilities for a variety of on-chip devices.
217f8f209fSSinan Kaya
22*5d0c3533SVinod Koulconfig QCOM_GPI_DMA
23*5d0c3533SVinod Koul        tristate "Qualcomm Technologies GPI DMA support"
24*5d0c3533SVinod Koul        depends on ARCH_QCOM
25*5d0c3533SVinod Koul        select DMA_ENGINE
26*5d0c3533SVinod Koul        select DMA_VIRTUAL_CHANNELS
27*5d0c3533SVinod Koul        help
28*5d0c3533SVinod Koul          Enable support for the QCOM GPI DMA controller. This controller
29*5d0c3533SVinod Koul          provides DMA capabilities for a variety of peripheral buses such
30*5d0c3533SVinod Koul          as I2C, UART, and SPI. By using GPI dmaengine driver, bus drivers
31*5d0c3533SVinod Koul          can use a standardize interface that is protocol independent to
32*5d0c3533SVinod Koul          transfer data between DDR and peripheral.
33*5d0c3533SVinod Koul
347f8f209fSSinan Kayaconfig QCOM_HIDMA_MGMT
357f8f209fSSinan Kaya	tristate "Qualcomm Technologies HIDMA Management support"
367f8f209fSSinan Kaya	select DMA_ENGINE
377f8f209fSSinan Kaya	help
387f8f209fSSinan Kaya	  Enable support for the Qualcomm Technologies HIDMA Management.
397f8f209fSSinan Kaya	  Each DMA device requires one management interface driver
407f8f209fSSinan Kaya	  for basic initialization before QCOM_HIDMA channel driver can
417f8f209fSSinan Kaya	  start managing the channels. In a virtualized environment,
427f8f209fSSinan Kaya	  the guest OS would run QCOM_HIDMA channel driver and the
437f8f209fSSinan Kaya	  host would run the QCOM_HIDMA_MGMT management driver.
4467a2003eSSinan Kaya
4567a2003eSSinan Kayaconfig QCOM_HIDMA
4667a2003eSSinan Kaya	tristate "Qualcomm Technologies HIDMA Channel support"
4767a2003eSSinan Kaya	select DMA_ENGINE
4867a2003eSSinan Kaya	help
4967a2003eSSinan Kaya	  Enable support for the Qualcomm Technologies HIDMA controller.
5067a2003eSSinan Kaya	  The HIDMA controller supports optimized buffer copies
5167a2003eSSinan Kaya	  (user to kernel, kernel to kernel, etc.).  It only supports
5267a2003eSSinan Kaya	  memcpy interface. The core is not intended for general
5367a2003eSSinan Kaya	  purpose slave DMA.
54