Other Parts Discussed in Thread: TDA4VM
我们在调一个外设,注册了中断后,没有响应,确认外设硬件中断有波形,且对应影响设置成输入模式可以读取到中断线的电平状态
dts
gpio_irq = <&main_gpio0 24 GPIO_ACTIVE_HIGH>; /*gpio0_24 AE36*/
调用的地方
client_data->gpio_pin = of_get_named_gpio_flags(
client_data->dev->of_node,
"gpio_irq", 0, NULL);
// client_data->gpio_pin = 388;
PINFO("%s gpio 2 number:%d\n", SENSOR_ACC_NAME, client_data->gpio_pin);
if (client_data->gpio_pin < 0) {
PINFO("%s return gpio number:%d\n", SENSOR_ACC_NAME, client_data->gpio_pin);
err = client_data->gpio_pin;
return err;
}
#if 1
err = gpio_request_one(client_data->gpio_pin,
GPIOF_IN, "smi230_acc_interrupt");
if (err < 0) {
PDEBUG("gpio_request_one\n");
return err;
}
err = gpio_direction_input(client_data->gpio_pin);
if (err < 0) {
PDEBUG("gpio_direction_input\n");
return err;
}
printk("irq 2 %d\n",client_data->IRQ);
#endif
printk("irq 3 %d\n",client_data->IRQ);
client_data->IRQ = gpio_to_irq(client_data->gpio_pin);
printk("irq %d\n",client_data->IRQ);
err = request_irq(client_data->IRQ, smi230_irq_handle,
IRQF_TRIGGER_RISING,
SENSOR_ACC_NAME, client_data);
if (err < 0) {
printk("request_irq %d\n",err);
return err;
}
以下中断计数没有增加的现象
364: 0 0 0 0 0 0 0 0 GPIO 24 Edge -davinci_gpio SMI230ACC
同时我们也用
WKUP_GPIO0_13 K38测试是否支持中断,发现也不行












