AM5728, PDK 1.0.2, Compiler V8.1.0, BIOS 6.45.1.29, XDC 3.32.0.06
Using the AM5728 on a custom board. A15 running Linux, DSP core running SYS/BIOS. Talking to an FPGA via PCIe, which seems to be working. The FPGA sends an interrupt to the DSP via GPIO8_20. GPIO8_20 is configured as an input and Rising Edge Triggered interrupt. I manually checked the config registers for GPIO8 (0x48053130 and on) and see what I am expecting, Rising Edge Detect, No debounce.
I put the interrupt line on a scope and I can see it trigger immediately after I send my command to the FPGA, so I know the FPGA is sending the interrupt to the AM5728 GPIO8_20 pin immediately. My code that uses the interrupt times out at 6 msec, but I have seen the interrupt come in at anywhere from 2 - 15 seconds. Yes, seconds. I measured this by setting a different GPIO when I get the interrupt and the delay is as stated above. Using the debugger and setting a breakpoint on the interrupt handler also has the same delay, 2-15 seconds. The earliest function I can break on is GPIO_v1_hwiFxn() and I see the same delay to that function.
So, everything I have looked at tells me there is a big delay between the interrupt arriving at the GPIO pin and the DSP core seeing the interrupt. Any ideas what could cause such a long delay?