menu "DMA Support"

config DMA
	bool "Enable Driver Model for DMA drivers"
	depends on DM
	help
	  Enable driver model for DMA. DMA engines can do
	  asynchronous data transfers without involving the host
	  CPU. Currently, this framework can be used to offload
	  memory copies to and from devices like qspi, ethernet
	  etc Drivers provide methods to access the DMA devices
	  buses that is used to transfer data to and from memory.
	  The uclass interface is defined in include/dma.h.

config DMA_CHANNELS
	bool "Enable DMA channels support"
	depends on DMA
	help
	  Enable channels support for DMA. Some DMA controllers have multiple
	  channels which can either transfer data to/from different devices.

config SANDBOX_DMA
	bool "Enable the sandbox DMA test driver"
	depends on DMA && DMA_CHANNELS && SANDBOX
	help
	  Enable support for a test DMA uclass implementation. It stimulates
	  DMA transfer by simple copying data between channels.

config BCM6348_IUDMA
	bool "BCM6348 IUDMA driver"
	depends on ARCH_BMIPS
	select DMA_CHANNELS
	help
	  Enable the BCM6348 IUDMA driver.
	  This driver support data transfer from devices to
	  memory and from memory to devices.

config DMA_LPC32XX
	bool "LPC32XX DMA driver"
	select DMA_LEGACY
	help
	  Enable some legacy DMA code for lpc32xx. It provides some direct
	  functions likes lpc32xx_dma_wait_status() which can be called from
	  other code.

	  This should be converted to use driver model and UCLASS_DMA.

config TI_EDMA3
	bool "TI EDMA3 driver"
	select DMA_LEGACY
	help
	  Enable the TI EDMA3 driver for DRA7xx and AM43xx evms.
	  This driver support data transfer between memory
	  regions.

config TI_KSNAV
	bool "TI Keystone Navigator DMA driver"
	depends on ARCH_KEYSTONE
	default y
	select DMA_LEGACY
	help
	  Enable the Keystone Navigator driver for Keystone 2 platforms.

config APBH_DMA
	bool "Support APBH DMA"
	depends on MX23 || MX28 || MX6 || MX7 || IMX8 || IMX8M
	select DMA_LEGACY
	help
	  Enable APBH DMA driver.

config XILINX_DPDMA
	bool "Enable ZynqMP Display Port DMA driver"
	depends on DMA && ZYNQMP_POWER_DOMAIN
	help
	  Enable support for Xilinx ZynqMP Display DMA driver. Currently
	  this file is used as placeholder for driver. The main reason is
	  to record compatible string and calling power domain driver.

if APBH_DMA
config APBH_DMA_BURST
	bool "Enable DMA BURST"

config APBH_DMA_BURST8
	bool "Enable DMA BURST8"

endif

config DMA_LEGACY
	bool "Legacy DMA support"
	help
	  Enable legacy DMA support. This does not use driver model and should
	  be migrated to the new API.

	  It is required for some PowerPC boards.

source "drivers/dma/ti/Kconfig"

endmenu # menu "DMA Support"
