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.

Which gpio could be set as interrupt source on dm365?

Other Parts Discussed in Thread: TMS320DM365

    It's seem that only bank0 and bank6 could be set as interrupt according with tms320dm365.pdf, But in sprufh8b.pdf, it's said that 'All GPIO signals can be used as interrupt sources with configurable edge detection.'  How I could use the other gpios  as interrupt souce?

 

  • See Table 54 of the ARM subsystem guide to see which GPIOs can be connected to ARM interrupts (sprufg5.pdf).

    Basically, if you are using ethernet and uart there's only 1 GPIO left to be configured for an interrupt (GPIO0). This is a bummer.

  • Tanks you for your reply.  I had seen the document. I come here just want to make sure which document is right. And you gave me the answer.

    Well as you said above, which gpio multipex with uart could be configured as an interrupt? It's seem that only ethernet is multipexed with gpio bank 0.

  • Hi,

    One more thing to note is that, in case you are using LSP 2.10.xx.xx for DM365, you would not be able to use any GPIO as interrupt because GPIO driver does not support interrupt mode in LSP 2.10.xx.xx

    As Craig mentioned, there is only one GPIO left out to be used as interrupt if you are using ethernet. And if you want to use it as interrupt, you would have to write a small kernel module to program the interrupt controller registers.

     

    Regards,

    Anshuman

  • Does the LSP2.10.xx.xx support the interrupt GPIO0? I mean the intterupt number is 44. It should not use the gpio driver I think.

  • I believe Anshuman was suggesting our LSP 2.10.xx.xx does not support GPIO interrupts at all, not even for GPIO0.  You will need to write your own driver to support GPIO interrupts...

  • Well that's mean the GPIO0(44) interrupt is ok,  I have set the following register's values( I printed them after set)

    INTPRI1 = 0x00001083

    BINTEN = 0x00000001
    SET_RIS_TRIG = 0xfffffffe
    CLR_RIS_TRIG = 0xfffffffe
    SET_FAL_TRIG = 0x00000001
    CLR_FAL_TRIG = 0x00000001

    Thats's say enable the GPIO0(44) interrupt, on it's falling edge.

    In LSP 2.10.xx.xx , it's should call function handle_edge_irq() in kernel/irq/chip.c I think. So I print some info in this function. but when the GPIO0 goes down, there is nothing to be printed. why?

    BTW:  the rigister SET_RIS_TRIG and CLR_RIS_TRIG will change thier values together? I only modified SET_RIS_TRIG, but the value of CLR_RIS_TRIG is changed too. So SET_FAL_TRIG and CLR_FAL_TRIG are  It's right?

     

  • I see 'All GPIO signals can be used as interrupt sources with configurable edge detection' in doc SPRUFH8B. But why do I only configure GPIO0 to GPIO16 through register SET_RIS_TRIG.

    Thanks everyone!

  • Hi,

    I am working on Dm365, and i have using GPIO4 as interrupt for my hardisk and i have configure GPIO4 as Rising edge(Setting Register SET_RIS_TRIG) and attaching interrupt handler...and even i can monitor from CRO that GPIO is changing its state and in PIN MUX register i have configured GPIO4 as GPIO..., but i dont get any interrupt, their is no status change in either Interrupt status register nor GPIO interrupt status register... pls let me know if i have to do anything else to get interrupt from GPIO

    Thanks

    Raghu

     

  • In the "Known Issues" section of "LSP 2.10 release version 02.10.00.14 - July 9, 2009" the following bullet is listed:

    "SDOCM00051972: GPIO pin configured in the interrupt mode does not work"

    If you are using LSP, this might be a point to investigate?  I would also want to find out how to get GPIO0 to work on my evmdm365.

    Jinh T

  • I am not using LSP.....i am using a RTOS.... i am able to get Timer and HDVICP_ARMINT interrupts but not GPIO4 interrupt ....

    Raghu