xref: /openbmc/linux/drivers/dma/qcom/Kconfig (revision 2437d5ea)
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
225d0c3533SVinod Koulconfig QCOM_GPI_DMA
235d0c3533SVinod Koul        tristate "Qualcomm Technologies GPI DMA support"
245d0c3533SVinod Koul        depends on ARCH_QCOM
255d0c3533SVinod Koul        select DMA_ENGINE
265d0c3533SVinod Koul        select DMA_VIRTUAL_CHANNELS
275d0c3533SVinod Koul        help
285d0c3533SVinod Koul          Enable support for the QCOM GPI DMA controller. This controller
295d0c3533SVinod Koul          provides DMA capabilities for a variety of peripheral buses such
305d0c3533SVinod Koul          as I2C, UART, and SPI. By using GPI dmaengine driver, bus drivers
315d0c3533SVinod Koul          can use a standardize interface that is protocol independent to
325d0c3533SVinod Koul          transfer data between DDR and peripheral.
335d0c3533SVinod Koul
347f8f209fSSinan Kayaconfig QCOM_HIDMA_MGMT
357f8f209fSSinan Kaya	tristate "Qualcomm Technologies HIDMA Management support"
360cfbb589SRandy Dunlap	depends on HAS_IOMEM
377f8f209fSSinan Kaya	select DMA_ENGINE
387f8f209fSSinan Kaya	help
397f8f209fSSinan Kaya	  Enable support for the Qualcomm Technologies HIDMA Management.
407f8f209fSSinan Kaya	  Each DMA device requires one management interface driver
417f8f209fSSinan Kaya	  for basic initialization before QCOM_HIDMA channel driver can
427f8f209fSSinan Kaya	  start managing the channels. In a virtualized environment,
437f8f209fSSinan Kaya	  the guest OS would run QCOM_HIDMA channel driver and the
447f8f209fSSinan Kaya	  host would run the QCOM_HIDMA_MGMT management driver.
4567a2003eSSinan Kaya
4667a2003eSSinan Kayaconfig QCOM_HIDMA
4767a2003eSSinan Kaya	tristate "Qualcomm Technologies HIDMA Channel support"
48*2437d5eaSBaoquan He	depends on HAS_IOMEM
4967a2003eSSinan Kaya	select DMA_ENGINE
5067a2003eSSinan Kaya	help
5167a2003eSSinan Kaya	  Enable support for the Qualcomm Technologies HIDMA controller.
5267a2003eSSinan Kaya	  The HIDMA controller supports optimized buffer copies
5367a2003eSSinan Kaya	  (user to kernel, kernel to kernel, etc.).  It only supports
5467a2003eSSinan Kaya	  memcpy interface. The core is not intended for general
5567a2003eSSinan Kaya	  purpose slave DMA.
56