# DMA configuration options

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

DT_COMPAT_ST_STM32_DMA_V1 := st,stm32-dma-v1
DT_COMPAT_ST_STM32_DMA_V2 := st,stm32-dma-v2
DT_COMPAT_ST_STM32_DMAMUX := st,stm32-dmamux

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

if DMA_STM32

config DMA_STM32_V1
	bool
	default y if $(dt_compat_enabled,$(DT_COMPAT_ST_STM32_DMA_V1))
	help
	  Enable DMA V1 support.

config DMA_STM32_V2
	bool
	default y if $(dt_compat_enabled,$(DT_COMPAT_ST_STM32_DMA_V2))
	help
	  Enable DMA V2 support.

config DMAMUX_STM32
	bool
	default $(dt_compat_enabled,$(DT_COMPAT_ST_STM32_DMAMUX))
	help
	  Enable DMAMUX support.

config DMA_STM32_SHARED_IRQS
	bool
	default y
	depends on SOC_SERIES_STM32F0X || SOC_SERIES_STM32G0X || SOC_SERIES_STM32L0X
	help
	  Enable shared IRQ support on devices where channels share 1 IRQ.

endif # DMA_STM32
