Interrupt from FPGA received only once!


I am struggling with interrupt from fpga.

I am using gpio from DE-10 nano board (KEY0), which is routed to f2h_irq1.

On clicking the button KEY0 I receive interrupt from the 1st time, but trying to press it again, does not result in any further interrupt…

I am not sure what wrong I am doing, please help.

These are the steps I’m doing:

  1. enable F2H bridge :
ret = socfpga_bridge_setup(ALT_BRIDGE_F2H)

2.configure interrupt to edge trigger (ICDICFRn register) + enable interrupt

  1. enable interrupt (ICDISERn register) in PIO (key0 in de-10 nano):
  (*(volatile unsigned int*)(ALT_LWFPGASLVS_OFST + 0x5000 + 0x8)) = 0xff;
  1. in interrupt handler just increment counter, and then clean interrupt bit (ICCIAR)

I use GHRD in DE-10 nano.

Any idea what’s wrong ? any example available ?

Thank you!