通过GPIO信号启用从睡眠模式唤醒

时间:2013-01-29 12:07:54

标签: linux arm gpio

我需要唤醒我的BeagleBone设备,运行Angstrom OS,从睡眠模式到GPIO信号。

我读到使用/sys/class/gpio/gpioXX/power/wakeup是可行的方法。问题是电源目录下没有任何“唤醒”文件。那么,我应该如何进行激活呢?有没有重新编译内核的解决方案吗?

我可以从GPIO值读取正常,因此GPIO sysfs正在工作。

1 个答案:

答案 0 :(得分:2)

在OMAP4xxx内核中GPIO驱动程序出现问题,当 mux子系统初始化之前初始化GPIO库时。这有效地防止了GPIO模式下引脚的唤醒。

您可以通过阅读struct mux[]的{​​{1}}字段(文件drivers / omap / gpio-omap.c)来检查这一点。它们不应该保持NULL值。

gpio_bank函数末尾有一个for循环。 您需要将其删除,并在void omap_gpio_mod_init(struct gpio_bank *bank)函数末尾初始化mux指针。

这将确保它正确地被引入。

另外,据我记得,去抖时钟有些问题。如果我的第一个建议不起作用,请尝试禁用该针的去抖动。