How to Enable GPIO Interrupt on the LS1028 Platform

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

How to Enable GPIO Interrupt on the LS1028 Platform

1,548 Views
Eddy1
Contributor V

Hi:

I added a GPIO driver on Linux 5.4.47, but it did not generate an interrupt. Currently, I am using lsdk2012.Here are my testing steps:

1)Configure gpio3_ 10 is GPIO mode in rcw 

Eddy1_0-1690862117447.pngEddy1_0-1690862117447.png

Eddy1_1-1690862146563.pngEddy1_1-1690862146563.png

2)Add gpio configuration to the device tree:

Eddy1_2-1690862344893.pngEddy1_2-1690862344893.png

3)Added GPIO interrupt driver and posted some probe codes as follows:

static int ls1028_gpio_probe(struct platform_device *pdev)
{
int ret;
unsigned int pin_number;

struct device_node *np = pdev->dev.of_node;

printk("gpio_IRQ_probe \n");

ls1028_gpio_irq.gpio = of_get_named_gpio(np, "detect-gpios", 0);

if(!gpio_is_valid(ls1028_gpio_irq.gpio))
{
printk("Error : invalid pin number\n");
return -EINVAL;
}

ret = gpio_request(ls1028_gpio_irq.gpio, "ls1028-irq-gpio");
if(ret < 0)
{
printk("ERROR : can not open GPIO %d \n", pin_number);
goto exit;
}
gpio_direction_input(ls1028_gpio_irq.gpio);
ls1028_gpio_irq.irqnum = gpio_to_irq(ls1028_gpio_irq.gpio);
ls1028_gpio_irq.handler = detect_hander;

ret = request_irq(ls1028_gpio_irq.irqnum, ls1028_gpio_irq.handler, \
IRQF_TRIGGER_RISING, "ls1028_gpio_irq",&ls1028_gpio_irq);
if(ret != 0)
{
printk("ls1028_gpio_irq_probe request irq \n");
}

disable_irq(ls1028_gpio_irq.irqnum);

ret = misc_register(&gpio_irq_dev);
if(ret < 0)
{
printk("GPIO_IRQ : misc register error \n");
goto exit_kfree;
}

printk("GPIO_IRQ : misc register successed \n");

return ret;

exit_kfree:
exit:
return ret;
return 0;

}

4)After updating the kernel and device tree, the driver can load normally and generate nodes in “/dev”, but running the "cat/proc/interrupt" command did not see the GPIO interrupt generated. How can I enable the GPIO interrupt?

Eddy1_3-1690862493373.pngEddy1_3-1690862493373.png

Eddy1_4-1690862672180.pngEddy1_4-1690862672180.png

 

Can you give some suggestions

 

0 Kudos
Reply
1 Reply

1,498 Views
yipingwang
NXP TechSupport
NXP TechSupport
0 Kudos
Reply