注册了一些GPIO中断,同样的配置和操作方式,中断都显示注册成功,在GPIO电平发生变化时响应,有个别bank7的GPIO(GP7_14 GP7_11)中断始终都无法进入,用示波器量电平明明是有很明显的高低变化,百思不得其解,求指点。
部分代码如下:
for (i = 0; i < pData->auxKeyParam->gpioNum; i++)
{
ret = gpio_request(gpio, "aux_keypad");
if (ret)
{
printk(KERN_ERR "Request aux key gpio%d failed! ret = %d\n", gpio, ret);
return ret;
}
ret = gpio_direction_input(gpio);
}
ret = request_irq(gpio_to_irq(gpio), AuxiliaryKeyIsr,\
IRQF_DISABLED | IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING,\
"auxiliaryKey", (void *)pKeypad);
cat /proc/interrupts 显示注册的中断都有
116: 6 GPIO auxiliaryKey
137: 0 GPIO matrixkeypad
140: 0 GPIO rotationKey
145: 0 GPIO auxiliaryKey
158: 0 GPIO matrixkeypad
161: 0 GPIO auxiliaryKey
167: 0 GPIO rotationKey
169: 0 GPIO matrixkeypad
224: 0 GPIO auxiliaryKey
227: 0 GPIO auxiliaryKey
RP Q:
这两个管脚其他地方都没用到,pinmux也配了,其他的I/O都能正常触发,唯独BANK7这两个不行
Shine:
回复 RP Q:
请问如果把这两个管脚设成输出模式,能在管脚上输出高低电平么?
RP Q:
回复 Shine:
可以设置高低电平,配置输入的时候也能读取到电平是1还是0,就是无法触发中断,其他bank的管脚同样这样配置的都可以
RP Q:
回复 Shine:
其他bank的GPIO中断都能触发,唯独bank7 的GPIO中断无法触发,这可能是什么原因导致的??求指导
Shine:
回复 RP Q:
请问使用的是最新的processor SDK版本吗?
RP Q:
回复 Shine:
不是最新的SDK版本,设置都是按同样流程走的,为啥其他bank的GPIO可以触发,bank7的就不行,这跟版本有很大关系吗?还有啥可能的原因,或者我可以怎么查这个问题?方便统一答复一下吗,谢谢!
Nancy Wang:
回复 RP Q:
那您的sdk版本是什么?是在哪个驱动上修改的?方便分享一下dts吗?
RP Q:
回复 Nancy Wang:
用的这个sdk版本,linux-2.6.37-psp03.21.00.04.sdk.tar.bz2
www.ti.com/…/LINUXSDK-OMAPL138,
驱动就是在官方提供的基础上改的,按照上面代码的流程设置的中断。
RP Q:
回复 Nancy Wang:
能否来个人帮忙解答一下,我该怎么查这个个别bank中断进不去的问题???谢谢!