Skip to content

Commit

Permalink
drivers: dma: Add initial support for NXP SDMA
Browse files Browse the repository at this point in the history
This adds initial support for NXP SDMA controller. We make use
of NXP HAL to configure the IP.

SDMA uses BD (buffer descriptors) to describe a transfer. We create
a cyclic list of descriptors and trigger them manually at start and
later when data is available.

This is tested using Sound Open Firmware app on top of Zephyr.

Signed-off-by: Daniel Baluta <[email protected]>
  • Loading branch information
dbaluta committed Oct 23, 2024
1 parent dfbcea7 commit b3a9f47
Show file tree
Hide file tree
Showing 5 changed files with 468 additions and 0 deletions.
1 change: 1 addition & 0 deletions drivers/dma/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -44,3 +44,4 @@ zephyr_library_sources_ifdef(CONFIG_DMA_NXP_SOF_HOST_DMA dma_nxp_sof_host_dma.c)
zephyr_library_sources_ifdef(CONFIG_DMA_EMUL dma_emul.c)
zephyr_library_sources_ifdef(CONFIG_DMA_NXP_EDMA dma_nxp_edma.c)
zephyr_library_sources_ifdef(CONFIG_DMA_DW_AXI dma_dw_axi.c)
zephyr_library_sources_ifdef(CONFIG_DMA_NXP_SDMA dma_nxp_sdma.c)
1 change: 1 addition & 0 deletions drivers/dma/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -81,5 +81,6 @@ source "drivers/dma/Kconfig.emul"
source "drivers/dma/Kconfig.nxp_edma"

source "drivers/dma/Kconfig.dw_axi_dmac"
source "drivers/dma/Kconfig.nxp_sdma"

endif # DMA
9 changes: 9 additions & 0 deletions drivers/dma/Kconfig.nxp_sdma
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Copyright 2024 NXP
# SPDX-License-Identifier: Apache-2.0

config DMA_NXP_SDMA
bool "NXP SDMA driver"
default y
depends on DT_HAS_NXP_SDMA_ENABLED
help
Enable driver for NXP's SDMA IP.
Loading

0 comments on commit b3a9f47

Please sign in to comment.