Skip to content

Commit 3ab212c

Browse files
pbalsundarnashif
authored andcommitted
drivers: dma: add dma driver for designware axi DMA controller
Adding dma driver source for designware axi dma controller Signed-off-by: Balsundar Ponnusamy <[email protected]>
1 parent 4067b0d commit 3ab212c

File tree

5 files changed

+1004
-0
lines changed

5 files changed

+1004
-0
lines changed

drivers/dma/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,3 +42,4 @@ zephyr_library_sources_ifdef(CONFIG_DMA_SMARTBOND dma_smartbond.c)
4242
zephyr_library_sources_ifdef(CONFIG_DMA_NXP_SOF_HOST_DMA dma_nxp_sof_host_dma.c)
4343
zephyr_library_sources_ifdef(CONFIG_DMA_EMUL dma_emul.c)
4444
zephyr_library_sources_ifdef(CONFIG_DMA_NXP_EDMA dma_nxp_edma.c)
45+
zephyr_library_sources_ifdef(CONFIG_DMA_DW_AXI dma_dw_axi.c)

drivers/dma/Kconfig

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,4 +78,6 @@ source "drivers/dma/Kconfig.emul"
7878

7979
source "drivers/dma/Kconfig.nxp_edma"
8080

81+
source "drivers/dma/Kconfig.dw_axi_dmac"
82+
8183
endif # DMA

drivers/dma/Kconfig.dw_axi_dmac

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
# DesignWare DMA configuration options
2+
3+
# Copyright (c) 2023 Intel Corporation
4+
# SPDX-License-Identifier: Apache-2.0
5+
6+
config DMA_DW_AXI
7+
bool "DesignWare AXI DMA driver"
8+
default y
9+
depends on DT_HAS_SNPS_DESIGNWARE_DMA_AXI_ENABLED
10+
imply DMA_64BIT
11+
help
12+
DesignWare AXI DMA driver.
13+
14+
if DMA_DW_AXI
15+
16+
config DMA_DW_AXI_MAX_DESC
17+
int "allocate number of lli descriptor"
18+
default 10
19+
help
20+
creates number of descriptor per channel in a statically allocated pool.
21+
Each channel has its own dedicated pool.
22+
23+
config DMA_DW_AXI_LLI_SUPPORT
24+
bool "hardware supports linked list multi block transfer"
25+
default y
26+
help
27+
This flag can be enabled if hardware support Linked List multi-block transfer
28+
29+
config DMA_CHANNEL_STATUS_TIMEOUT
30+
int "Channel status timeout"
31+
default 1000
32+
help
33+
Max timeout to abort or disable the channel
34+
35+
config DMA_DW_AXI_MAX_BURST_TXN_LEN
36+
int "max burst transaction length"
37+
default 8
38+
help
39+
set max number of source and destination data units supported
40+
41+
config DMA_DW_AXI_DATA_WIDTH
42+
int "data bus width"
43+
default 64
44+
help
45+
update this flag to change the axi master interface data width
46+
47+
config DMA_DW_AXI_MAX_BLOCK_TS
48+
int "max block size"
49+
default 32767
50+
help
51+
update this config to set maximum value of block size
52+
53+
endif # DMA_DW_AXI

0 commit comments

Comments
 (0)