Hello,
Here is my code snippet
platform_get_resource(pdev, IORESOURCE_MEM, 0);
devm_ioremap_resource(&pdev->dev, mem);
timer->irq = platform_get_irq(pdev, 0);
devm_request_irq(p_dev, timer->irq, r_irq_handler, 2, INPUT_PIN_DESC, pdev->dev.of_node);
DTS file:
gpttest: gpttest@020e8000 {
compatible = "fsl,imx-gpttest";
reg = <0x020e8000 0x4000>;
interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clks IMX6UL_CLK_GPT2_BUS>,
<&clks IMX6UL_CLK_GPT2_SERIAL>;
clock-names = "ipg", "per";
};
My devm_request_irq call is failing here with the following out:
genirq: Setting trigger mode 2 for irq 36 failed (irq_chip_set_type_parent+0x0/0x20)
DRIVER_NAME: probe of 20e8000.gpio failed with error -22
I have done some debugging, from the function __irq_set_trigger() in manage.c while validating the chip->irq_set_type() its returning -22 (invald argument) error
Queries:
Thanks,
Phani Movva
there is no limitation for using falling edge in control register of GPT2.
Hi Phani
for gpt interrupt example one can look on linux/arch/arm/mach-imx/time.c
linux-2.6-imx.git - Freescale i.MX Linux Tree
It may be used by linux as described in sect.3.3 Timer attached Linux Manual.
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hello Igor,
I have registered the interrupt in the same way done in linux/arch/arm/mach-imx/time.c. But it didn't solve my issue.
struct irqaction *act = &imxtm->act;
act->name = "My Sensor";
act->flags = IRQF_TRIGGER_FALLING;
act->handler = r_irq_handler;
setup_irq(imxtm->irq, act);
When I tried to register for falling edge I am getting same error as mentioned in my first post
Error: genirq: Setting trigger mode 2 for irq 36 failed (irq_chip_set_type_parent+0x0/0x20)
DRIVER_NAME: probe of 20e8000.gpio failed with error -22
I am able to register the interrupt for RISING_EDGE So I would like to know Is there any chip level limitation for FALLING_EDGE interrupt for this particular gpt2 capture2 pin?
Hi Phani
>Is there any chip level limitation for FALLING_EDGE interrupt for this particular gpt2 capture2 pin?
what do you mean exactly ?
Best regards
igor