# DMA configuration options

# Copyright (c) 2020, NXP
# SPDX-License-Identifier: Apache-2.0

config DMA_MCUX_EDMA
	bool "MCUX DMA driver"
	depends on HAS_MCUX_EDMA
	imply NOCACHE_MEMORY if HAS_MCUX_CACHE
	help
	  DMA driver for MCUX series SoCs.

if DMA_MCUX_EDMA

config DMA_TCD_QUEUE_SIZE
	int "number of TCD in a queue for SG mode"
	default 2
	help
	  number of TCD in a queue for SG mode

config DMA_MCUX_TEST_SLOT_START
	int "test slot start num"
	depends on (SOC_SERIES_KINETIS_K6X || SOC_SERIES_KINETIS_KE1XF)
	default 58 if SOC_SERIES_KINETIS_K6X
	default 60 if SOC_SERIES_KINETIS_KE1XF
	help
	  test slot start num

config DMA_MCUX_USE_DTCM_FOR_DMA_DESCRIPTORS
	bool "Use DTCM for DMA descriptors"
	help
	  When this option is activated, the descriptors for DMA transfer are
	  located in the DTCM (Data Tightly Coupled Memory).

endif # DMA_MCUX_EDMA
