# Kconfig - DMA configuration options
#
#
# Copyright (c) 2016 Intel Corporation
#
# SPDX-License-Identifier: Apache-2.0
#

#
# DMA options
#
menuconfig DMA
	bool
	prompt "DMA driver Configuration"
	default n

if DMA
menuconfig DMA_QMSI
	bool "Enable QMSI DMA driver"
	default n
	depends on QMSI
	help
	QMSI DMA driver.

menuconfig DMA_STM32F4X
	bool "Enable STM32F4x DMA driver"
	default n
	depends on SOC_SERIES_STM32F4X
	help
	DMA driver for STM32F4x series SoCs.

config DMA_0_NAME
	string "Device name for DMA Controller 0"
	default "DMA_0"
	help
	Device name for DMA Controller 0.

config DMA_0_IRQ_PRI
	int "IRQ Priority for DMA Controller 0"
	default 3
	help
	IRQ Priority for the DMA Controller.

config DMA_0_RX_SUB_CHANNEL_ID
	int "Requested RX sub-channel ID"
	default 0
	depends on DMA_STM32F4X
	help
	This configuration is required to choose a valid sub-channel
	for communication from a peripheral/device.  Not required
	for memory to memory comms.

config DMA_0_TX_SUB_CHANNEL_ID
	int "Requested TX sub-channel ID"
	default 0
	depends on DMA_STM32F4X
	help
	This configuration is required to choose a valid sub-channel
	for communication to a peripheral/device.  Not required
	for memory to memory comms.

config DMA_1_NAME
	string "Device name for DMA Controller 1"
	default "DMA_1"
	help
	Device name for DMA Controller 1.

config DMA_1_IRQ_PRI
	int "IRQ Priority for DMA Controller 1"
	default 3
	help
	IRQ Priority for DMA Controller 1.

config DMA_1_RX_SUB_CHANNEL_ID
	int "Requested RX sub-channel ID"
	default 0
	depends on DMA_STM32F4X
	help
	This configuration is required to choose a valid sub-channel
	for communication from a peripheral/device.  Not required
	for memory to memory comms.

config DMA_1_TX_SUB_CHANNEL_ID
	int "Requested TX sub-channel ID"
	default 0
	depends on DMA_STM32F4X
	help
	This configuration is required to choose a valid sub-channel
	for communication to a peripheral/device.  Not required
	for memory to memory comms.

config DMA_2_NAME
	string "Device name for DMA Controller 2"
	default "DMA_2"
	help
	Device name for DMA Controller 2.

config DMA_2_IRQ_PRI
	int "IRQ Priority for DMA Controller 2"
	default 3
	help
	IRQ Priority for DMA Controller 2.

config DMA_2_RX_SUB_CHANNEL_ID
	int "Requested RX sub-channel ID"
	default 0
	depends on DMA_STM32F4X
	help
	This configuration is required to choose a valid sub-channel
	for communication from a peripheral/device.  Not required
	for memory to memory comms.

config DMA_2_TX_SUB_CHANNEL_ID
	int "Requested TX sub-channel ID"
	default 0
	depends on DMA_STM32F4X
	help
	This configuration is required to choose a valid sub-channel
	for communication to a peripheral/device.  Not required
	for memory to memory comms.

endif # DMA
