Commit 5c9f8c2d authored by Jonathan McDowell's avatar Jonathan McDowell Committed by Vinod Koul
Browse files

dmaengine: qcom: Add ADM driver



Add the DMA engine driver for the QCOM Application Data Mover (ADM) DMA
controller found in the MSM8x60 and IPQ/APQ8064 platforms.

The ADM supports both memory to memory transactions and memory
to/from peripheral device transactions.  The controller also provides
flow control capabilities for transactions to/from peripheral devices.

The initial release of this driver supports slave transfers to/from
peripherals and also incorporates CRCI (client rate control interface)
flow control.

The hardware only supports a 32 bit physical address, so specifying
!PHYS_ADDR_T_64BIT gives maximum COMPILE_TEST coverage without having to
spend effort on kludging things in the code that will never actually be
needed on real hardware.

Signed-off-by: default avatarAndy Gross <agross@codeaurora.org>
Signed-off-by: default avatarThomas Pedersen <twp@codeaurora.org>
Signed-off-by: default avatarJonathan McDowell <noodles@earth.li>
Link: https://lore.kernel.org/r/20201114140233.GM32650@earth.li


Signed-off-by: default avatarVinod Koul <vkoul@kernel.org>
parent f74faa0c
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
# 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)
+1 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
obj-$(CONFIG_QCOM_ADM) += qcom_adm.o
obj-$(CONFIG_QCOM_BAM_DMA) += bam_dma.o
obj-$(CONFIG_QCOM_HIDMA_MGMT) += hdma_mgmt.o
hdma_mgmt-objs	 := hidma_mgmt.o hidma_mgmt_sys.o
+903 −0

File added.

Preview size limit exceeded, changes collapsed.