Hi,
I want use SYSCFG_CHIPINT interrupts (SYSCFG_CHIPINT2 and SYSCFG_CHIPINT3) to generate a signal for the ARM processor.
The ARM processor runs under Linux (V4.1.14).
I'm using "uio_pdrv_genirq" (/drivers/uio/uio_pdrv_genirq.c) in order to wait for an interrupt ("blocked" read on /dev/uio*).
I'm generating an interrupt writing to the SYSCFG_CHIPSIG register (address 0x01c14174) with "devmen".
But then the interrupt comes twice; it means, that the interrupt handler uio_pdrv_genirq_handler() is called twice!
During the first call the register CHIPSIG has the expectet value (e.a 0x00000004 for SYSCFG_CHIPINT2).
I have modified the interrupt handler and within it the SYSCFG_CHIPINT interrupt is cleread by writing to the CHIPSIG_CLR register (e.a writing 0x00000004 in order to clear SYSCFG_CHIPINT2 interrupt).
During the second call he register CHIPSIG has the unexpectet value "0x00000000", so I'm surprised that the interrupt handler is called again!
Is there any explanation for that?
Best regards
Jan-Marc.