# 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
	depends on HEAP_MEM_POOL_SIZE != 0
	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
	select USE_STM32_LL_DMA
	help
	  Enable DMA support on F0/F1/F3/L0/L4 series SoCs.

endif # DMA_STM32
