gpt4 book ai didi

linux - 通过 GPIO 信号启用从 sleep 模式唤醒

转载 作者:太空狗 更新时间:2023-10-29 11:15:22 25 4
gpt4 key购买 nike

我需要通过 GPIO 信号将运行 Angstrom 操作系统的 BeagleBone 设备从 sleep 模式唤醒。

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

我可以很好地读取 GPIO 值,所以 GPIO sysfs 正在工作。

最佳答案

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

您可以通过阅读gpio_bank 结构的mux[] 字段(文件 drivers/omap/gpio-omap.c)来检查这一点。它们不应包含 NULL 值。

void omap_gpio_mod_init(struct gpio_bank *bank) 函数末尾有一个 for 循环。您需要删除它,并在 static int omap_gpio_request(struct gpio_chip *chip, unsigned offset) 函数的末尾初始化 mux 指针。

这将确保它会被正确初始化。

此外,据我所知,去抖动时钟存在一些问题。如果我的第一个建议不起作用,请尝试禁用该引脚的去抖动。

关于linux - 通过 GPIO 信号启用从 sleep 模式唤醒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14582518/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com