将LAN9514 USB集线器/以太网芯片与Linux集成

时间:2017-07-15 19:27:10

标签: linux linux-kernel usb linux-device-driver buildroot

我有一台boad arm32计算机运行我制作的buildroot图像,我想添加LAN9514 USB 2.0和以太网控制器芯片。我相信Pi和Beaglebone-XM采用相同的硬件。

我连接了所有内容(不包括可选的eeprom),我将SMSC95XX作为驱动程序的buildroot中的模块包含在内。但是,在连接新硬件的情况下启动时,我会看到以下错误:

[   10.300000] usb 3-1: device descriptor read/64, error -62
[   10.590000] usb 3-1: device descriptor read/64, error -62
[   11.300000] usb 3-1: device not accepting address 4, error -62
[   11.900000] usb 3-1: device not accepting address 5, error -62
[   11.900000] usb usb3-port1: unable to enumerate USB device

与Beaglebone-XM一样,我将LAN9514的PRTCTL引脚连接到mosfet上的输入使能信号,以控制USB端口的5v电源。但是,PRTCTL永远不会被驱动为高电平,因此没有连接的USB设备可以获得电源。

我想知道是否有一些我缺少的东西(设备树条目,也许?)为了使这项工作。在我看来,驱动程序应该告诉芯片重置为其默认的eeprom值并将引脚驱动为高电平,但我认为我必须跳过一步才能将设备正确绑定到驱动程序。

http://elixir.free-electrons.com/linux/latest/source/drivers/net/usb/smsc95xx.c

如果有人有任何想法,请告诉我。提前谢谢!

0 个答案:

没有答案