About Missing GPIO interrupts in i.MX 8DualX

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

About Missing GPIO interrupts in i.MX 8DualX

378 Views
Renk
Contributor I

Hi:

I am working on i.MX 8DualX processor and Linux is 5.4.70.
I am using like this : One CPU(rtos on it) sends a falling edge pulse at 1ms intervals, the i.MX 8 gets it and returns a falling edge pulse.
But I noticed that the i.MX 8 missed some pulses from the logic analyzer.the dts and driver like this:

dts:
```
front@0 {
......
interrupt-parent = <&lsio_gpio3>;
interrupts = <21 IRQ_TYPE_EDGE_FALLING>;
........
};

```

driver:
static int32_t front_request_irq(struct front *fs)
{
return devm_request_threaded_irq(&fs->front->dev, fs->front->irq,
NULL, front_irq_handler,
IRQ_TYPE_EDGE_FALLING | IRQF_ONESHOT,
DEVICE_NAME, fs);
}

static inline irqreturn_t front_irq_handler(int32_t irq, void *dev_id){
//TO DO
......
gpiod_set_value(front.gpiod_ack, 1);
gpiod_set_value(front.gpiod_ack, 0);
udelay(1);
gpiod_set_value(front.gpiod_ack, 1);
.......
return IRQ_HANDLED;
}

could you give me some suggestions ?
Best regards!

0 Kudos
1 Reply

372 Views
igorpadykov
NXP Employee
NXP Employee
0 Kudos