仅使用USB OTG硬件作为USB主机



我正在将Linux移植到ARM平台。我为之开发的平台有一个OTG芯片,我想在它上安装一个驱动程序。它还没有OTG驱动程序。然而,它是基于EHCI规范的,所以我认为至少可以在不编写全新驱动程序的情况下使主机控制器工作。

我已经将通用的EHCI HCD平台驱动程序连接到设备上,它似乎被检测和初始化了,但当我插入设备时没有中断。

在我花更多时间调试之前,我只想问一下,经过一些小的修改,是否可以在OTG设备上使用通用主机控制器驱动程序来支持USB主机?

感谢

我的记忆太模糊,无法回答这个问题,所以我只能说我认为我从事的项目就是这样做的。如果我记得正确的话,那是一个专有的OTG控制器,它实现了全套EHCI寄存器,只需对额外的寄存器或位进行非常小的调整,就可以确定控制器是作为主机还是设备连接的。尽管USB很复杂,但EHCI规范非常适合使用,并提供了一组相当清晰的(行业硬件标准化!)寄存器。如果您可以启动系统并主动转储或以其他方式查看此EHCI寄存器集,您应该能够非常快速地确定主机控制器是否正在运行(例如,请参阅FRINDEX寄存器的递增)以及设备是否被检测到(检查相应PORTSC寄存器的位0,当前连接状态)。正如我所说,寄存器集是硬件标准化的,因此只要正确配置USBBASE寄存器,驱动程序中用于转储寄存器的任何调试例程都应该正常工作。祝你好运

相关内容

  • 没有找到相关文章

最新更新