/rant
Arrrggghh!
/rant
Ok, I've spent most of the day trying to do what I would consider a "simple" task: enable one of my GPIO lines to be used as an interrupt from an external chip to call a DSPBIOS function in my code. However (as you can probably tell) the interrupt does not make it through to my DSPBIOS HWI.
I want to use GP2[14] as my incoming interrupt. Here's what I've done:
1. Set PINMUX5_7_4 to 0x08 (OMAP-L138 Application Processor System Reference Guide sprugm7d, p187, table 11-27, Selects Function GP2[14])
2. Set GPIO->BINTEN = 0x04 (TMS320C674X-OMAP-L1X GPOI User Guide -sprufl8b, p20, table 4, Enables Bank23 interrupts)
3. Set GPIO->SET_RIS_TRIG = 0x00004000 (set bit 14) ((TMS320C674X-OMAP-L1X GPIO User Guide -sprufl8b, p31, Fig 30, Set GP2P14 = 0x1)
4. Configured HWI_INT4 in DSP/BIOS to watch interrupt selection number 49 (OMAP-L138 Low-Power Applications Processor - SPRS586B , pg 104, table 6-8) and call an interrupt service routine in my code.
HOWEVER, the ISR is never called.
I have checked the following registers;
1. IINTMUX1_INTSEL4 = 49 which is correct (TMS320C674xDSP Megamodule Ref Guide - sprufk5a, p178, Fig 7-35)
2. EVTFLG1_BIT17(EF49) = 0x1 which is correct (TMS320C674xDSP Megamodule Ref Guide - sprufk5a, p 170, Fig 7-16)
3. GPIO_INTSTAT23_GP2P14 = 0x1(PEND), which is correct ((TMS320C674X-OMAP-L1X GPIO User Guide -sprufl8b, p39, Fig 50)
...again, all of the config bits seem correct, all of the registers are showing correct values, but my ISR is never called.
Can anyone see a problem with what I am doing? Any guidance would be appreciated.
Thx,
MikeH