# DMA configuration options

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

EDMA_COMPAT := $(DT_COMPAT_NXP_MCUX_EDMA)
REV_PROP := nxp,version

config DMA_MCUX_EDMA
	bool "MCUX DMA driver"
	default y
	depends on $(dt_compat_any_has_prop,$(EDMA_COMPAT),$(REV_PROP),2)
	imply NOCACHE_MEMORY if CPU_HAS_DCACHE
	help
	  DMA driver for MCUX series SoCs.

config DMA_MCUX_EDMA_V3
	bool "MCUX DMA v3 driver"
	default y
	depends on $(dt_compat_any_has_prop,$(EDMA_COMPAT),$(REV_PROP),3)
	help
	  DMA version 3 driver for MCUX series SoCs.

config DMA_MCUX_EDMA_V4
	bool "MCUX DMA v4 driver"
	default y
	depends on $(dt_compat_any_has_prop,$(EDMA_COMPAT),$(REV_PROP),4)
	help
	  DMA version 4 driver for MCUX series SoCs.

config DMA_MCUX_EDMA_V5
	bool "MCUX DMA v5 driver"
	default y
	depends on $(dt_compat_any_has_prop,$(EDMA_COMPAT),$(REV_PROP),5)
	help
	  DMA version 5 driver for MCUX series SoCs.

if DMA_MCUX_EDMA || DMA_MCUX_EDMA_V3 || DMA_MCUX_EDMA_V4 || DMA_MCUX_EDMA_V5

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 \
		    || SOC_SERIES_S32K3 || SOC_SERIES_S32ZE || SOC_SERIES_KE1XZ)
	default 58 if SOC_SERIES_KINETIS_K6X
	default 60 if SOC_SERIES_KINETIS_KE1XF
	default 60 if SOC_SERIES_KE1XZ
	default 62 if SOC_SERIES_S32K3 || SOC_SERIES_S32ZE
	help
	  test slot start num

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

endif # DMA_MCUX_EDMA || DMA_MCUX_EDMA_V3 || DMA_MCUX_EDMA_V4 || DMA_MCUX_EDMA_V5
