#
# DMA engine configuration for sh
#

config SH_DMAE_BASE
	bool "Renesas SuperH DMA Engine support"
	depends on (SUPERH && SH_DMA) || ARCH_SHMOBILE || COMPILE_TEST
	depends on !SH_DMA_API
	default y
	select DMA_ENGINE
	help
	  Enable support for the Renesas SuperH 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 SUDMAC
	tristate "Renesas SUDMAC support"
	depends on SH_DMAE_BASE
	help
	  Enable support for the Renesas SUDMAC controllers.

config RCAR_HPB_DMAE
	tristate "Renesas R-Car HPB DMAC support"
	depends on SH_DMAE_BASE
	help
	  Enable support for the Renesas R-Car series DMA controllers.

config RCAR_AUDMAC_PP
	tristate "Renesas R-Car Audio DMAC Peripheral Peripheral support"
	depends on SH_DMAE_BASE
	help
	  Enable support for the Renesas R-Car Audio DMAC Peripheral Peripheral controllers.

config SHDMA_R8A73A4
	def_bool y
	depends on ARCH_R8A73A4 && SH_DMAE != n
