This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

GPIO Interrupt question.

Hi, I'm working with OMAP L-138 EVM, C6748. DSP/BIOS 5x.

I'd like to configure GPIO interrupts in my application. The TMS320C674x Tech Reference Guide 19.2.10.1 Interrupt Events and Requests says :

"... The device supports interrupts from single GPIO signals, interrupts from banks of GPIO signals, or both..."

TMS320C674x Tech Reference Guide 19.2.10.2 Enabling GPIO Interrupt Events says:

"...GPIO interrupt events are enabled in banks of 16 by setting the appropriate bit(s) in the GPIO interrupt per-bank enable register (BINTEN)..."

TMS320C674x OMAP L1x GPIO Guide says the same.

Is it possible to configure each GPIO pin to generate interrupt separately or it is available  only through the whole bank interrupt/event? If it is possible to make it, how I actually do that?

Thank, Anatoly.

  • Hello Anatoly,

    Please see the following excerpt from the device data manual.

    External Interrupt and DMA request Capability

    • Every GPIO pin may be configured to generate an interrupt request on detection of rising and/or falling edges on the pin.
    • The interrupt requests within each bank are combined (logical or) to create nine unique bank level interrupt requests.
    • The bank level interrupt service routine may poll the INTSTATx register for its bank to determine which pin(s) have triggered the interrupt.
    • GPIO Banks 0, 1, 2, 3, 4, 5, 6, 7, and 8 Interrupts assigned to ARM INTC Interrupt Requests 42, 43, 44, 45, 46, 47, 48, 49, and 50 respectively
    • GPIO Banks 0, 1, 2, 3, 4, 5, 6, 7, and 8 Interrupts assigned to DSP Events 65, 41, 49, 52, 54, 59, 62, 72, and 75 respectively
    • GPIO Banks 0, 1, 2, 3, 4, and 5 are assigned to EDMA events 6, 7, 22, 23, 28, 29, and 29 respectively on Channel Controller 0 and GPIO Banks 6, 7, and 8 are assigned to EDMA events 16, 17, and 18 respectively on Channel Controller 1.

    Hope this helps =)