Dear all,
I updated the source file of my i.MX6Q from kernel 4.4 to kernel 4.13 and since then my driver to handle the communication with our FPGA (connected with the WEIM bus) throws a kernel panic on the irq_request.
On kernel 4.4 everything was working properly.
I attached a part of the device tree and the kernel panic messages.
I am not an expert with device tree definition but the attached definition was working on 4.4
Here is the call to the irq_request function:
irq = irq_of_parse_and_map(pdev->dev.of_node, 0);
if(irq == NO_IRQ){
printk(KERN_ERR "fpga: no irq\n");
return -ENODEV;
}
printk(KERN_INFO "fpga: irq = %d\n", irq);
//ret = request_irq(irq, (void *)irq_read_handler, IRQF_TRIGGER_HIGH, "driver_fpga", (void *)irq_read_handler);
ret = devm_request_irq(&pdev->dev, irq, (void *)irq_read_handler, IRQF_TRIGGER_HIGH, pdev->name, pdev);
if(ret < 0){
printk(KERN_ERR "fpga: irq request failed : %d\n", ret);
return ret;
}
I tried both function (request_irq and devm_request_irq) and the result is the same.
Thanks for your help
Best regards
Hi Fabio,
Thanks for your answer. I checked the files however I was not able to put it in my context.
Regards
Romain
Hi Romain
kernel 4.13 is not supported by nxp, one can try with ones described
on i.MX official software page
Best regards
igor
Hi Romain,
Take a look at this dts file where a FPGA is connected via WEIM:
arch/arm/boot/dts/imx51-ts4800.dts
And then look at its driver implementation:
drivers/irqchip/irq-ts4800.c
Hope this helps.
Regards,
Fabio Estevam