I am having problems with interrupts for the 1588 timer. Even with EIR[TS_TIMER] asserted and EIMR[TS_TIMER] unmasked, my interrupt handler is not called. I have performed and verified the following steps:
- INTC.PSR214 register is configured (processor 0, priority 14)
- ATPER is configured (10^9)
- ATINC[INC] is 0x19 and ATINC[INC_CORR] is 0
- ATCR[EN] and ATCR[PEREN] is enabled
- I see that ATSTMP is periodically updated and I can set ATCR[CAPTURE] to read the timer register
- EIMR[TS_TIMER] is enabled
- I can observe in the debugger that EIR[TS_TIMER] is re-set after 1 second as expected after manually clearing the flag.
- Other ENET interrupts are properly triggered, e.g. EIR[TXF] and EIR[RXF]
I am also fairly certain that my interrupt handler is configured correctly since I can use PSR214[SWTN] to trigger the handler manually.
Is there any additional operations that needs to be performed for the TS_TIMER interrupt to trigger the interrupt vector? I am testing on ENET0 and the system is using eCos as OS if that makes any difference.