# DMA configuration options

# Copyright (c) 2016 Intel Corporation
# Copyright (c) 2019 Song Qiang <songqiang1304521@gmail.com>
# SPDX-License-Identifier: Apache-2.0

config DMA_STM32
	bool "Enable STM32 DMA driver"
	select DYNAMIC_INTERRUPTS
	depends on SOC_FAMILY_STM32
	help
	  DMA driver for STM32 series SoCs.

if DMA_STM32

config DMA_STM32_V1
	bool
	depends on SOC_SERIES_STM32F2X || SOC_SERIES_STM32F4X || SOC_SERIES_STM32F7X
	select USE_STM32_LL_DMA
	help
	  Enable DMA support on F2/F4/F7 series SoCs.

config DMA_STM32_V2
	bool
	depends on SOC_SERIES_STM32F0X || SOC_SERIES_STM32F1X || SOC_SERIES_STM32F3X || SOC_SERIES_STM32L0X || SOC_SERIES_STM32L4X || SOC_SERIES_STM32WBX
	select USE_STM32_LL_DMA
	help
	  Enable DMA support on F0/F1/F3/L0/L4/WB series SoCs.

config DMAMUX_STM32
	bool
	depends on DMA_STM32_V2
	depends on SOC_STM32L4R5XX || SOC_SERIES_STM32WBX
	help
	  Enable DMAMUX support on L4R/WB series SoCs.

endif # DMA_STM32
