Attached is a document that we put together that shows some scope/logic analyzer traces of some of the pertinent bus signals (as well as the Chip Select Register Settings). I may be able to get TSIZ, but don't currently have it. I am using the FPGA strictly as a memory mapped device for DMA, so I'm not using any of the external DMA request signals. They're hooked up but (a) I don't know if they'd buy us anything and (b) We're not sure of the handshaking protocol.
Im using the Motorola DMA API for the DMA. I'm using the DMA_ALWAYS initiator. Here's my DMA call (which works great in non-burst mode but we'd really like the extra performace of burst mode as we *think* it should work):
/* OK, set up the DMA transfer */
MCD_startDma( m_dmaRxChannel,
(char*)dma_adr,
4,
(char*)m_pEthernetInfo->data,
4,
len,
4,
m_dmaRxInitiator,
6,
0
| MCD_SINGLE_DMA
| MCD_INTERRUPT
#ifdef BURST_MODE_ENABLED
| MCD_TT_FLAGS_RL
#endif
,
MCD_NO_BYTE_SWAP | MCD_NO_CSUM );
dma_adr is essentially the address of the "FIFO" area of the FPGA. We allow the address to increment as we've found that if we don't do this, the DMA engine does not attempt to generate burst mode transfers, even though burst mode is enabled.
The m_pEthernetInfo->data pointer is a pointer in SDRAM to where we want to transfer the data contained withing the FPGA FIFO.
I hope this information helps clarify our situation.
Best Regards,
Brett