# SPDX-License-Identifier: GPL-2.0
#
# DMA engine configuration for sh
#

config RENESAS_DMA
	bool
	select DMA_ENGINE

#
# DMA Engine Helpers
#

config SH_DMAE_BASE
	bool "Renesas SuperH DMA Engine support"
	depends on SUPERH || COMPILE_TEST
	depends on !SUPERH || SH_DMA
	depends on !SH_DMA_API
	default y
	select RENESAS_DMA
	help
	  Enable support for the Renesas SuperH DMA controllers.

#
# DMA Controllers
#

config SH_DMAE
	tristate "Renesas SuperH DMAC support"
	depends on SH_DMAE_BASE
	help
	  Enable support for the Renesas SuperH DMA controllers.

config RCAR_DMAC
	tristate "Renesas R-Car Gen{2,3} and RZ/G{1,2} DMA Controller"
	depends on ARCH_RENESAS || COMPILE_TEST
	select RENESAS_DMA
	help
	  This driver supports the general purpose DMA controller found in the
	  Renesas R-Car Gen{2,3} and RZ/G{1,2} SoCs.

config RENESAS_USB_DMAC
	tristate "Renesas USB-DMA Controller"
	depends on ARCH_RENESAS || COMPILE_TEST
	select RENESAS_DMA
	select DMA_VIRTUAL_CHANNELS
	help
	  This driver supports the USB-DMA controller found in the Renesas
	  SoCs.

config RZ_DMAC
	tristate "Renesas RZ/G2L DMA Controller"
	depends on ARCH_R9A07G044 || COMPILE_TEST
	select RENESAS_DMA
	select DMA_VIRTUAL_CHANNELS
	help
	  This driver supports the general purpose DMA controller found in the
	  Renesas RZ/G2L SoC variants.
