#
# 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 || ARCH_SHMOBILE || 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.

if SH_DMAE

config SH_DMAE_R8A73A4
	def_bool y
	depends on ARCH_R8A73A4
	depends on OF

endif

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_DMAC
	tristate "Renesas R-Car Gen2 DMA Controller"
	depends on ARCH_SHMOBILE || COMPILE_TEST
	select RENESAS_DMA
	help
	  This driver supports the general purpose DMA controller found in the
	  Renesas R-Car second generation SoCs.

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