1 /** @file
2  * @brief Definitions and non-standard functions for Xilinx AXI DMA.
3  */
4 /*
5  * Copyright (c) 2024 CISPA Helmholtz Center for Information Security gGmbH
6  *
7  * SPDX-License-Identifier: Apache-2.0
8  */
9 #ifndef DMA_XILINX_AXI_DMA_H
10 #define DMA_XILINX_AXI_DMA_H
11 
12 #define XILINX_AXI_DMA_NUM_CHANNELS   2
13 #define XILINX_AXI_DMA_TX_CHANNEL_NUM 0
14 #define XILINX_AXI_DMA_RX_CHANNEL_NUM 1
15 
16 #define XILINX_AXI_DMA_LINKED_CHANNEL_NO_CSUM_OFFLOAD   0x0
17 #define XILINX_AXI_DMA_LINKED_CHANNEL_FULL_CSUM_OFFLOAD 0x1
18 
19 #include <stdint.h>
20 #include <zephyr/device.h>
21 
22 /**
23  * @brief Returns the size of the last RX transfer conducted by the DMA, based on the descriptor
24  * status.
25  */
26 extern uint32_t dma_xilinx_axi_dma_last_received_frame_length(const struct device *dev);
27 
28 #endif
29