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.

Linux/AM5718: GPIO interrupt level trigger doesn't work

Part Number: AM5718


Tool/software: Linux

Hi expert,

I use AM5718 SDK(ti-processor-sdk-linux-am57xx-evm-04.00.00.04 ) to request an gpio1_24 intterrupt like:

devm_request_threaded_irq(dev, client->irq, NULL, cy8ctouch_irq, irqflags,               "cy8c41x", ts);

When irqflags is IRQF_TRIGGER_HIGH cpu can not genarate an interrupt although my cy8ctouch chip pull  gpio1_24 high. but whit  IRQF_TRIGGER_FALLING | IRQF_TRIGGER_RISING cpu can genarate an interrupt.

So , is it am5718 sdk  support gpio level trigger , if yes ,how to achive that. Thanks.

  • The software team have been notified. They will respond here.
  • Hi Jerry,

    The am57xx Processor SDK supports can handle GPIO level IRQ. You can find more details as searching for handle_level_irq in the Linux kernel documentation gpio driver at:
    www.kernel.org/.../driver.txt

    BR
    Tsvetolin Shulev

  • Hi Tsvetolin Shulev:

    I known linux support gpio level irq ,but I think TI GPIO module can not implement it .Because when I pull gpio high , cpu can not generate irq. Strangely when i use devmem2 tool read gpio1 relate regs like:devmem2 0x4AE10144. CPU generate IRQ continuous .Log is below.
    Can you test it on am571x-idk machine .Thanks!

    9 14:00:35.762: root@am57xx-evm:~# devmem2 0x4AE10028^H4
    10 14:00:41.214: /dev/mem opened.
    11 14:00:41.216: Memory mapped at address 0xb6f04000.
    12 14:00:41.219: Read at address 0x4AE10024 (0xb6f04024): 0x00000000
    13 14:00:41.242: root@am57xx-evm:~# cat /proc/interrupts
    14 14:00:50.685: CPU0
    15 14:00:50.687: 17: 0 CBAR 32 Level gp_timer
    16 14:00:50.691: 18: 0 GIC-0 29 Level arch_timer
    17 14:00:50.696: 19: 14757 GIC-0 30 Level arch_timer
    18 14:00:50.701: 22: 0 CBAR 4 Level l3-dbg-irq
    19 14:00:50.705: 23: 5 WUGEN 10 Level l3-app-irq
    20 14:00:50.710: 25: 10 CBAR 121 Level talert
    21 14:00:50.714: 27: 1052 CBAR 8 Level omap-dma-engine
    22 14:00:50.719: 30: 0 CBAR 361 Level 43300000.edma_ccint
    23 14:00:50.724: 32: 0 CBAR 359 Level 43300000.edma_ccerrint
    24 14:00:50.730: 35: 21712 CBAR 24 Level 4ae10000.gpio
    25 14:00:50.735: 58: 0 4ae10000.gpio 22 Edge extcon_usb1
    26 14:00:50.740: 60: 21712 4ae10000.gpio 24 Level cy8c41x
  • Note :21712 4ae10000.gpio 24 Level cy8c41x show gpio1_24 irq count is 21712.
  • I known linux support gpio level irq ,but I think TI GPIO module can not implement it .Because when I pull gpio high , cpu can not generate irq. Strangely when i use devmem2 tool read gpio1 relate regs like:devmem2 0x4AE10144. CPU generate IRQ continuous .Log is below.
    Can you test it on am571x-idk machine .Thanks!
  • Biser:

    Any update?