We have tried enabling eDMA scatter/gather operation but it doesn’t seem to work properly. We do the following configurations:
- Setup descriptor in external SDRAM (0x8000 0000) in exactly the same way as in eDMA regisers. I mean same offsets are assumed. 32-bit aligned memory is used.
- Enable scatter/gather operation by setting TCDn_CSR[ESG] = 1
- Store memory address of descriptor setup in step.1 in the current descriptor’s DMAx_TCDn_DLASTSGA register and start the transfer.
However, only the first descriptor setup in eDMA registers is processed and after the first major loop completes, channel descriptor is not reloaded properly from memory (strange garbage values are loaded into registers) and nothing happens afterwards (no interrupts, transfer etc.).
Please help us if there is any solution to this problem.