1

我对 Linux 很陌生,所以如果我问一些非常简单的问题,我深表歉意。我正在使用 SAM9G25 和 Angstrom 发行版作为操作系统的定制板。

该板用作 USB 设备(大容量存储设备),何时将连接到主机。现在我只是启用和删除 g_mass_storage 模块,一切正常。在最终版本中,我需要根据USB线的连接和断开来管理g_mass_storage模块。我坚持使用 VBUS 作为中断(轮询也可以)。

我的问题来了。

由于 VBUS GPIO 由 USB 驱动程序处理,我无法从用户空间读取它的状态。我只在 /proc/interrupt 中看到一个中断计数。我问是否有办法获得中断(从驱动程序)或能够在 USB 电缆与系统连接/断开时读取 VBUS GPIO 值。

我感谢任何形式的帮助。

4

1 回答 1

0

我知道这有点老了,但我发现了同样的问题,并且从用户空间发现您可以从 udc sys 类设备查看连接状态。例如,在我的架构上,可以从以下位置查看 USB 的状态:

/sys/class/udc/ci_hdrc.0/status

PC connection: configured
Power adapter: powered
Disconnected: not attached

我已经阅读了 AM335x 架构,可以从以下位置观察到:

/sys/class/udc/musb-hdrc.0.auto/current_speed

祝你好运

于 2018-03-14T13:00:04.447 回答