AnsweredAssumed Answered

IMX6ULL: GPT2: INPUT CAPTURE 1: Failed to register an FALLING EDGE interrupt

Question asked by Phani Teja on Jun 27, 2018
Latest reply on Jul 12, 2018 by gusarambula

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.gpt 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

 

Is there any chip level limitation for FALLING_EDGE interrupt for this particular gpt2 capture pin 1? Am I missing anything to register this?

 

Thanks,

Phani Movva

Outcomes