I am attempting to modify the StarterWare example "UARTEDMA_Cache" to have a GPIO pin initiate EDMA transfers on the BeagleBone target board. In this case, I'm using GPIO1_31 as my input signal. I am able to set up the GPIO pin as an input pin which triggers an interrupt on a rising edge. I see that each rising edge opn the pin causes an interrupt. I'm also configuring the EDMA3 controller to transfer data upon receipt of event 23 (GPIOEVT1) and upon transfer completion to link to another transfer request.
After initialization, I see the DMA performing the transfer on the first rising edge of the GPIO input, I get a Transfer Completion interrupt, and the PaRAM entries being updated for the next transfer request. What is not happening is subsequent rising edges of the GPIO causing any more DMA transfers.
Examining all the EDMa registers after sebsequent GPIO rising edges, I don't see any of the Event Register, Secondary Event Register, or Event Missed Register bits being set. It seems like the GPIO module isn't sending any more events to the EDMA module after the first one. As mentioned above, the rising edges also cause an interrupt and I get interrupted on each edge ( the ISR clears the GPIO_IRQSTATUS register).
Looking through the TRM, I see some peripherals have DMA modes (i.e. UARTS) for interfacing with the EMDA but I don't see any mention of a mode(s) for the GPIO module. Does anyone have any ideas?