2012-10-11 35 views
1

我将Linux移植到ARM平台。我正在开发的平台有一个我想附加驱动程序的OTG芯片。它还没有OTG驱动程序。但是,它基于EHCI规范,所以我认为至少可以在不写一个全新的驱动程序的情况下让主控制器工作。仅将USB OTG硬件用作USB主机

我已经将通用EHCI HCD平台驱动程序附加到设备上,它似乎被检测到并初始化,但插入设备时没有中断进入。

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

感谢

+0

我对你没有任何答案,但是想知道你正在使用哪个板子,如果它不是秘密? –

回答

1

我的内存是太模糊回答这个,所以我只能说,我觉得工作的一个项目是做只是这一点。如果我正确回忆,它是一个专有的OTG控制器,它实现了全套EHCI寄存器,只需稍微调整一个附加寄存器或位以确定控制器是作为主机还是设备连接。虽然USB很复杂,但EHCI规范相当不错,并且提供了相当清晰的(和行业硬件标准化!)套寄存器。如果您可以启动系统并主动转储或以其他方式查看此EHCI寄存器组,则应该能够非常快速地确定您的主机控制器是否正在运行(例如,请参阅FRINDEX寄存器递增)以及是否检测到设备(检查位0,当前连接状态,适当的PORTSC寄存器)。正如我所说的,寄存器组是硬件标准化的,所以只要你正确配置了USBBASE寄存器,驱动程序中任何用于转储寄存器的调试例程都应该工作正常。祝你好运!