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 EDMA Event Generation for 665X

I would like to use a GPIO28 to trigger an EDMA event.   Is this possible?   According to the documenation, I see mixed answers about what GPIOs can be used.     The GPIO datasheet indicates GPIO0 to GPIO15 can be used.    The EDMA event list only shows GPINT0 to GPINT3.    I do have the ability to use TIMER0 and TIMER1, but I noticed they are not on the event list as well.

Thanks

Paul

 

  • Paul,

    You can use CIC1 to trigger EDMA event using GPIO_28.

    C665x data manual shows GPIO_28 is the system event input #124 of CIC1 (table 7-35). And CIC1_OUT 0~17 are connected to EDMA channel events 43~60 (table 7-32).

    So you can map CIC1 input #124 to any CIC1 outputs 0~17, then GPIO_28 event is connected to the corresponding EDMA channel based on your CIC1 setup.

    Please note that you have to set bit 1 to 1 in BINTEN to enable the interrupt of GPIO pins 31-16 (GPIO_BITEN = 0x2;).

    The following thread has some details about the GPIO interrupt usage in C665x device. Hope it helps.

    http://e2e.ti.com/support/dsp/c6000_multi-core_dsps/f/639/p/272135/956887.aspx#956887

  • Hi Steven,

    I've been working with Paul, and from my testing it looks like you must clear the CIC1 interrupt status before more EDMA events will fire.  Is this what you expect? 

    It makes sense from the standpoint that the CIC is a generic interrupt controller block.  But this behavior makes the secondary GPIO EDMA events much less useful.  The GPIO cannot be used for any transfer that requires multiple events.  I suppose you could use a chained EDMA to clear the CIC status, but that adds complexity and increases the chance that an event would be missed.

    It sounds like switching to a higher priority GPIO that has direct EDMA access is really the way to go.

    -Mike

  • Mike,

    You are right that CIC register needs to be cleared for the next event generation.

    In this case, it might be better to choose another GPIO event directly connected to EDMA like GPINT0~3 as you suggested.