Tool/software: Linux
Hello, TI Experts,
Our customer sent us questions about EDMA with Processor-SDK-LINUX-AM437X 05_01_00_11.
They want to use EDMA as "config.src_addr_width = DMA_SLAVE_BUSWIDTH_8_BYTES;"
for data transfer from their FPGA to AM437x via GPMC.
But they fail to use this configuration because of below error detection code in edma.c.
drivers/dma/ti/edma.c:
static int edma_slave_config(struct dma_chan *chan, struct dma_slave_config *cfg)
{
struct edma_chan *echan = to_edma_chan(chan);
if (cfg->src_addr_width == DMA_SLAVE_BUSWIDTH_8_BYTES ||
cfg->dst_addr_width == DMA_SLAVE_BUSWIDTH_8_BYTES)
return -EINVAL;
Question:
1: Could you tell us the purpose/reason of this error detection code about "DMA_SLAVE_BUSWIDTH_8_BYTES"?
2: Are there any way to use 8 byte data transfer from their FPGA to AM437x via GPMC with Processor-SDK-LINUX-AM437X?
We would appreciate if you tell us the recommended way of 8 byte data transfer from their FPGA to AM437x via GPMC with Processor-SDK-LINUX-AM437X.
Best regards,