# DMA configuration options

# Copyright (c) 2022 Intel Corporation
# SPDX-License-Identifier: Apache-2.0

config DMA_INTEL_ADSP_GPDMA
	bool "Intel ADSP General Purpose Direct Memory Access driver"
	default y
	depends on DT_HAS_INTEL_ADSP_GPDMA_ENABLED
	help
	  Intel ADSP DMA driver.

if DMA_INTEL_ADSP_GPDMA

config DMA_INTEL_ADSP_GPDMA_NEED_CONTROLLER_OWNERSHIP
	bool
	default y
	help
	  Hidden option to indicate that the driver needs to request
	  dma controller ownership from the host.

config DMA_INTEL_ADSP_GPDMA_HAS_LLP
	bool "Intel ADSP GPDMA Linear Link Position Feature"
	default y if SOC_SERIES_INTEL_ACE
	help
	  Intel ADSP GPDMA may optionally have a linear link position
	  feature.

config DMA_INTEL_ADSP_GPDMA_DEBUG
	bool "Debug dump for IP registers"
	help
	  Dump Intel ADSP GPDMA registers for debug

source "drivers/dma/Kconfig.dw_common"

endif # DMA_INTEL_ADSP_GPDMA
